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 15/11/2007, 22h25   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 14
Points : 14
Par défaut [ImageMagick] Création d'une image miniature

Bonsoir,

J'ai un petit soucis avec une fonction me permettant de créer une miniature en php d'une image jpg. Voici donc ladite fonction, trouvée sur le web :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini)
  {
  $image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
  $largeur_origine = imagesx($image_origine);
  $hauteur_origine = imagesy($image_origine);
  $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
  $image_finale = imagecreate($largeur_mini, $hauteur_mini);
  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
 
  imagejpeg($image_finale, "$chemin_mini/$fichier_image");
  imagedestroy($image_finale);
  return true;
  }
Le petit problème en fait, c'est que mon image en sortie n'a pas les mêmes couleurs que celle en entrée. Du coup je suis un peu embété... et je ne vois pas trop d'ou vient le problème...

Si vous pouviez m'éclairer. Merci.
error404 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 13h14   #2
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 14
Points : 14
Bon la solution venait en fait de imagecreate à remplacer par imagecreatetruecolor. Quelle prise de tête, ce sont toujours de petites erreurs !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini)
  {
  $image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
  $largeur_origine = imagesx($image_origine);
  $hauteur_origine = imagesy($image_origine);
  $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;

  $image_finale = imagecreatetruecolor($largeur_mini, $hauteur_mini);

  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
 
  imagejpeg($image_finale, "$chemin_mini/$fichier_image");
  imagedestroy($image_finale);
  return true;
  }
error404 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 10h53.


 
 
 
 
Partenaires

Hébergement Web