Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/08/2007, 20h39   #1
Membre du Club
 
Inscription : juillet 2007
Messages : 238
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 238
Points : 46
Points : 46
Par défaut [ImageMagick] pb choix pour redimensionner une image

bonjour,

J'aimerais pouvoir redimensionner une image, en choisisant au prealable si l'image est en jpg ou gif seulement mon script marche trés bien quand il sagit d'un jpg mais affiche une image noir quand c'est un gif

voici mon code

Code :
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
if ($extension = 'jpg')
{
$source = imagecreatefromjpeg("$image"); // La photo est la source
$destination = imagecreatetruecolor(21, 189); // On crée la miniature vide
 
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
 
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
 
// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
imagejpeg($destination, $final);
}
elseif ($extension = 'gif')
{
$source = imagecreatefromgif("$image"); // La photo est la source
$destination = imagecreatetruecolor(21, 189); // On crée la miniature vide
 
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
 
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
 
// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
imagegif($destination, $final);
}
Overstone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2007, 17h13   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Fais attention aux comparaisons dans tes "if" : ce sont des affectations (=) et non des comparaisons (==), ce qui rend le premier test toujours vrai et donc le 2° n'est jamais vrai.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2007, 20h27   #3
Membre du Club
 
Inscription : juillet 2007
Messages : 238
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 238
Points : 46
Points : 46
bonsoir,

oups je suis vraiment bête

je vais tester tout de suite et sa va sans doute marcher, sinon j'avais penssé pour rendre encore l'ensemble plus simple convertir tout les fichiers dans un format unique quelque soit leurs extensions de base.

Quelle est la meilleur solution ?
Overstone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2007, 23h39   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Moins tu traiteras chaque image, plus cela ira vite et surtout meilleure sera la qualité finale

Une autre solution est d'utiliser getimagesize() et les constantes PHP pour comparer le type d'image, c'est bien plus fiable que l'extension du fichier.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h44.


 
 
 
 
Partenaires

Hébergement Web