1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
<?php
// Paramètres définis par l'utilisateur
define('IMG_DIR', /* Insérez ici le chemin de destination jusqu'à votre dossier d'image */);
$maxSizeX = /* Insérez ici la largeur maximale de l'image qui sera générée */;
$maxSizeY = /* Insérez ici la hauteur maximale de l'image qui sera générée */;
$imgQuality = /* Insérez ici le niveau de qualité JPEG à utiliser (max 100, min 0) */;
// Header
header("Content-type: image/jpeg");
// Trouver le format de l'image d'entrée)
$imageFormat = explode('.', strtolower($_GET['image']));
if ($imageFormat[1] == 'jpg' OR $imageFormat[1] == 'jpeg')
$thumbnail = imagecreatefromjpeg(IMG_DIR.$_GET['image']);
if ($imageFormat[1] == 'gif')
$thumbnail = imagecreatefromgif(IMG_DIR.$_GET['image']);
if ($imageFormat[1] == 'png')
$thumbnail = imagecreatefrompng(IMG_DIR.$_GET['image']);
// Calcul de la nouvelle taille
if (imagesx($thumbnail) > imagesy($thumbnail))
{
$newSizeX = $maxSizeX;
$newSizeY = $maxSizeX * imagesy($thumbnail) / imagesx($thumbnail);
}
if (imagesy($thumbnail) > imagesx($thumbnail))
{
$newSizeY = $maxSizeY;
$newSizeX = $maxSizeY * imagesx($thumbnail) / imagesy($thumbnail);
}
if (imagesy($thumbnail) == imagesx($thumbnail))
{
$newSizeY = $maxSizeY;
$newSizeX = $maxSizeY;
}
// Calculs au cas où les tailles dépasseraient toujours la taille maximale
if ($newSizeY > $maxSizeY)
{
$newSizeX = $maxSizeY * $newSizeX / $newSizeY;
$newSizeY = $maxSizeY;
}
if ($newSizeX > $maxSizeX)
{
$newSizeY = $maxSizeX * $newSizeY / $newSizeX;
$newSizeX = $maxSizeX;
}
// Génération de la miniature
$finishedImage = imagecreatetruecolor($newSizeX, $newSizeY);
imagecopyresampled($finishedImage, $thumbnail, 0, 0, 0, 0, $newSizeX, $newSizeY, imagesx($thumbnail), imagesy($thumbnail));
imagedestroy($thumbnail);
$finishedImage = imagejpeg($finishedImage, NULL, $imgQuality);
echo $finishedImage;
?> |
Partager