mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Fix phpunit for crop of image
This commit is contained in:
parent
5aa9927784
commit
7b706d6fe5
|
|
@ -187,7 +187,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||
$imgHeight = $infoImg[1]; // Hauteur de l'image
|
||||
|
||||
$imgTargetName = ($filetowrite ? $filetowrite : $file);
|
||||
$infoImgTarget = getimagesize($imgTargetName); // Get data about target image
|
||||
$newExt = strtolower(pathinfo($imgTargetName, PATHINFO_EXTENSION));
|
||||
|
||||
if ($mode == 0) { // If resize, we check parameters
|
||||
if (!empty($filetowrite) && $filetowrite != $file && $newWidth <= 0 && $newHeight <= 0) {
|
||||
|
|
@ -253,7 +253,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||
}
|
||||
|
||||
// Create empty image for target
|
||||
if ($infoImgTarget[2] == 1) {
|
||||
if ($newExt == 'gif') {
|
||||
// Compatibility image GIF
|
||||
$imgTarget = imagecreate($newWidth, $newHeight);
|
||||
} else {
|
||||
|
|
@ -271,22 +271,22 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||
}
|
||||
|
||||
// Set transparent color according to image extension
|
||||
switch ($infoImgTarget[2]) {
|
||||
case 1: // Gif
|
||||
switch ($newExt) {
|
||||
case 'gif': // Gif
|
||||
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
|
||||
imagecolortransparent($imgTarget, $trans_colour);
|
||||
break;
|
||||
case 2: // Jpg
|
||||
case 'jpg': // Jpg
|
||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
||||
break;
|
||||
case 3: // Png
|
||||
case 'png': // Png
|
||||
imagealphablending($imgTarget, false); // Pour compatibilite sur certain systeme
|
||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127); // Keep transparent channel
|
||||
break;
|
||||
case 4: // Bmp
|
||||
case 'bmp': // Bmp
|
||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
||||
break;
|
||||
case 18: // Webp
|
||||
case 'webp': // Webp
|
||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127);
|
||||
break;
|
||||
}
|
||||
|
|
@ -302,8 +302,6 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||
//$fp = fopen($imgTargetName, "w");
|
||||
//fclose($fp);
|
||||
|
||||
$newExt = strtolower(pathinfo($imgTargetName, PATHINFO_EXTENSION));
|
||||
|
||||
// Create image on disk (overwrite file if exists)
|
||||
switch ($newExt) {
|
||||
case 'gif': // Gif
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ global $conf,$user,$langs,$db;
|
|||
//require_once 'PHPUnit/Autoload.php';
|
||||
require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
|
||||
require_once dirname(__FILE__).'/../../htdocs/core/lib/images.lib.php';
|
||||
require_once dirname(__FILE__).'/../../htdocs/core/lib/files.lib.php';
|
||||
|
||||
if (empty($user->id)) {
|
||||
print "Load permissions for admin user nb 1\n";
|
||||
|
|
@ -164,8 +165,16 @@ class ImagesLibTest extends PHPUnit\Framework\TestCase
|
|||
|
||||
$file=dirname(__FILE__).'/img250x20.png';
|
||||
$filetarget=$conf->admin->dir_temp.'/img250x20.jpg';
|
||||
dol_delete_file($filetarget);
|
||||
$result = dol_imageResizeOrCrop($file, 0, 0, 0, 0, 0, $filetarget);
|
||||
print __METHOD__." result=".$result."\n";
|
||||
$this->assertEquals($filetarget, $result, 'Failed to convert into '.$filetarget);
|
||||
$this->assertEquals($filetarget, $result, 'Failed to convert PNG '.$file.' into '.$filetarget);
|
||||
|
||||
$file=dirname(__FILE__).'/img250x20.png';
|
||||
$filetarget=$conf->admin->dir_temp.'/img250x20.webp';
|
||||
dol_delete_file($filetarget);
|
||||
$result = dol_imageResizeOrCrop($file, 0, 0, 0, 0, 0, $filetarget);
|
||||
print __METHOD__." result=".$result."\n";
|
||||
$this->assertEquals($filetarget, $result, 'Failed to convert PNG '.$file.' into WEBP '.$filetarget);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user