[10.0.060] Optimisation du code de création des images mini

This commit is contained in:
Fred Tempez 2020-04-11 15:08:56 +02:00
parent 6eb697e427
commit a3d0f7ac71
1 changed files with 35 additions and 30 deletions

View File

@ -37,7 +37,7 @@ class common {
const THUMBS_WIDTH = 320; const THUMBS_WIDTH = 320;
// Numéro de version // Numéro de version
const ZWII_VERSION = '10.0.059'; const ZWII_VERSION = '10.0.060';
const ZWII_UPDATE_CHANNEL = "v10"; const ZWII_UPDATE_CHANNEL = "v10";
public static $actions = []; public static $actions = [];
@ -799,37 +799,42 @@ class common {
if (!is_dir($path['dirname'])) { if (!is_dir($path['dirname'])) {
mkdir($path['dirname']); mkdir($path['dirname']);
} }
// Image jpeg
if (mime_content_type($src) === 'image/jpeg' ) { switch(mime_content_type($src) ) {
if ($source_image = imagecreatefromjpeg($src)) { case 'image/jpeg':
$width = imagesx($source_image); case 'image/jpg':
$height = imagesy($source_image); $source_image = imagecreatefromjpeg($src);
/* find the "desired height" of this thumbnail, relative to the desired width */ break;
$desired_height = floor($height * ($desired_width / $width)); case 'image/png':
/* create a new, "virtual" image */ $source_image = imagecreatefrompng($src);
$virtual_image = imagecreatetruecolor($desired_width, $desired_height); break;
/* copy source image at a resized size */ case 'image/gif':
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); $source_image = imagecreatefromgif($src);
/* create the physical thumbnail image to its destination */ break;
return (imagejpeg($virtual_image, $dest));
}
} }
// image png
if ( mime_content_type($src) === 'image/png' ) { if ($source_image) {
/* read the source image */ $width = imagesx($source_image);
if ($source_image = imagecreatefrompng($src)) {; $height = imagesy($source_image);
$width = imagesx($source_image); /* find the "desired height" of this thumbnail, relative to the desired width */
$height = imagesy($source_image); $desired_height = floor($height * ($desired_width / $width));
/* find the "desired height" of this thumbnail, relative to the desired width */ /* create a new, "virtual" image */
$desired_height = floor($height * ($desired_width / $width)); $virtual_image = imagecreatetruecolor($desired_width, $desired_height);
/* create a new, "virtual" image */ /* copy source image at a resized size */
$virtual_image = imagecreatetruecolor($desired_width, $desired_height); imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
/* copy source image at a resized size */ switch(mime_content_type($src) ) {
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); case 'image/jpeg':
/* create the physical thumbnail image to its destination */ case 'image/jpg':
return (imagepng($virtual_image, $dest)); return (imagejpeg($virtual_image, $dest));
break;
case 'image/png':
return (imagepng($virtual_image, $dest));
break;
case 'image/gif':
return (imagegif($virtual_image, $dest));
break;
} }
} }
} }