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
|
$imgsource = $row2[0];
$image_dir = '';
// Définition du nom de la miniature
$miniature = $image_dir."mini_".$imgsource;
// Définition de la largeur et de la hauteur maximale
$width = 200;
$height = 200;
// si l'image qu'on lit est déjà une miniature
// on applique pas la fonction
if (strstr($imgsource,"mini_")){
return false;
}
// si la miniature n'est pas déjà créée
// (sinon on la réutilise)
if (!file_exists($miniature)){
// Cacul des nouvelles dimensions proportionnelles
list($width_src, $height_src) =
getimagesize($image_dir.$imgsource);
if ($width && ($width_src < $height_src)) {
$width = ($height / $height_src) * $width_src;
} else {
$height = ($width / $width_src) * $height_src;
}
// créé une image vide
$im = ImageCreateTrueColor ($width, $height)
or die ("Erreur pour créer l'image");
// lit l'image source
$source = ImageCreateFromJpeg($image_dir.$imgsource);
// on créé un cadre autour de la miniature
$blanc = ImageColorAllocate ($im, 255, 255, 255);
$gris[0] = ImageColorAllocate ($im, 69, 69, 69);
$gris[1] = ImageColorAllocate ($im, 82, 82, 82);
$gris[2] = ImageColorAllocate ($im, 97, 97, 97);
$gris[3] = ImageColorAllocate ($im, 107, 107, 107);
$gris[4] = ImageColorAllocate ($im, 120, 120, 120);
$gris[5] = ImageColorAllocate ($im, 134, 134, 134);
$gris[6] = ImageColorAllocate ($im, 145, 145, 145);
for ($i=0; $i<7; $i++) {
ImageFilledRectangle($im, $i, $i, $width-$i,
$height-$i, $gris[$i]);
}
// créé la miniature : attention fonction lourde
ImageCopyResampled($im, $source, 8, 8, 0, 0,
$width-(2*8), $height-(2*8), $width_src, $height_src);
// ajoute une chaine d'info sur l'image (le numéro de dossier associé à l'image !)
$requete_nro_dossier = "SELECT nro_Dossier FROM PHOTO WHERE chemin_Photo = '$imgsource'";
$res3 = mysql_query($requete_nro_dossier);
while($row3 = mysql_fetch_row($res3)){
$noDossier = $row3[0];
}
ImageString($im, 0, 12, $height-18,
"$noDossier ", $blanc);
// sauvegarde du résultat
ImageJpeg($im, $miniature); |
Partager