adrien971 | code
Code :
- function redimage($img_src,$img_dest,$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é
- if(!$dst_h) $dst_h = $test_h;
- // Sinon si Width final non précisé
- 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;
- // La vignette existe ?
- $test = (file_exists($img_dest));
- // L'original à modifier?
- if($test)
- $test = (filemtime($img_dest)>filemtime($img_src));
- // Les dimensions de la vignette sont correctes ?
- if($test) {
- $size2 = GetImageSize($img_dest);
- $test = ($size2[0]==$dst_w);
- $test = ($size2[1]==$dst_h);
- }
- // Créer la vignette ?
- if(!$test) {
- // Cr\216e une image vierge aux bonnes dimensions
- $dst_im = imagecreate($dst_w,$dst_h);
- // Copie dedans l'image initiale redimensionn\216e
- $src_im = ImageCreateFromJpeg($img_src);
- ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
- // Sauve la nouvelle image
- ImageJpeg($dst_im,$img_dest);
- // D\216truis les tampons
- ImageDestroy($dst_im);
- ImageDestroy($src_im);
- }
- }
|
|