Pages : 1
#1 Le 26/10/2006, à 17:58
- Inazad
[PHP] Création de miniatures ???
Salut tout le monde,
est-ce que cela est possible, pour php, de créer des miniatures d'une image admettons en 640x480 ?
Car, dans mon script d'album de photos, l'image en taille réelle est affichée mais avec des spécifications de largeur et de hauteur.. ce qui est tres long a charger..
Si vous savez comment, dites le moi !
Ditres le moi aussi, si cela n'est pas possible..
Merci!
A++
Dernière modification par Inazad (Le 26/10/2006, à 17:59)
Inazad
Hors ligne
#2 Le 26/10/2006, à 18:13
- bergi
Re : [PHP] Création de miniatures ???
si c'est possible.
Hors ligne
#3 Le 26/10/2006, à 18:16
- bergi
Re : [PHP] Création de miniatures ???
allez je suis pas vache un debut de solution :
http://www.nexen.net/index.php?option=com_nexen_v2&Itemid=232&&lang=FR&nexen_url_type=intern&nexen_path=docs%2Fphp%2Fannotee%2Ffunction.imagecopyresampled.php
PAr contre faut que GD soit activé sur le serveur.
Hors ligne
#4 Le 26/10/2006, à 21:44
- fanch317
Re : [PHP] Création de miniatures ???
Voici un script qui affiche à la volée (donc pas de cache).
Collé dans un fichier php, il va donc renvoyer une image au lieu d'une page web.
$file = le chemin de ton fichier;
$dst_w=100;
$dst_h=100;
// Lit les dimensions de l'image
$size = GetImageSize($file);
$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;
// Crée une image vierge aux bonnes dimensions
$dst_im = imagecreatetruecolor($dst_w,$dst_h);
// Copie dedans l'image initiale redimensionnée
$src_im = ImageCreateFromJpeg($file);
ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
header("Content-Type: image/jpeg\n");
ImageJpeg($dst_im);
Hors ligne