Bonjour,

Avant de commencer - Oui je sais c'est le énième code de génération de vignette à la volée.

Mais je recherche l'oeil d'un expert du php pour optimiser ce script à tous les formats (jpg,gif,bmp) .
De plus il faut garder la proportion de l'image avec une largeur fixe de 100 pixels. et le tout a la volée

Le script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?
function redimage($img_src,$dst_w,$dst_h) {
   // Lit les dimensions de l'image
   $size = GetImageSize($img_src);  
   $src_w = $size[0]; $src_h = $size[1];
   // Teste les dimensions tenant dans la zone
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   // Si Height final non précisé (0)
   if(!$dst_h) $dst_h = $test_h;
   // Sinon si Width final non précisé (0)
   elseif(!$dst_w) $dst_w = $test_w;
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;
 
   // Affiche les dimensions optimales
   echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
?>
 
<IMG SRC="monimage.jpg" <?redimage("monimage.jpg",XX,YY)?>>

Merci pour votre aide