imagecolorallocate : impossible de définir la couleur de fond

imagecolorallocate : impossible de définir la couleur de fond - PHP - Programmation

Marsh Posté le 08-01-2007 à 16:32:38    

Bonjour !!
 
Voilà mon script qui redimensionne une image :
 

Code :
  1. $hauteur_image_proportions = round(($largeur / $largeur_image) * $hauteur_image);
  2.      // Création de la nouvelle image
  3.      $dst_im = ImageCreateTrueColor($largeur,$hauteur_image_proportions);
  4.      $dst_im2 = ImageCreateTrueColor($largeur,$hauteur);
  5.      $background_color = Imagecolorallocate($dst_im,0,255,0);
  6.      $background_color2 = Imagecolorallocate($dst_im2,0,255,0);
  7.      // ImageCopyResampled copie et rééchantillonne l'image originale en conservant les proportions
  8.      ImageCopyResampled($dst_im,$src_im,0,0,0,0,$largeur,$hauteur_image_proportions,$largeur_image,$hauteur_image);
  9.      // Découpons le morceau qui nous interesse
  10.      $depart_x = round(($hauteur_image_proportions - $hauteur) / 2);
  11.      ImageCopyResampled($dst_im2,$dst_im,0,0,0,$depart_x,$largeur,$hauteur,$largeur,$hauteur);
  12.     // Sauvegarde de l'image au format png
  13.     ImagePng($dst_im2,$image_destination);


 
Seulement, le fond reste noir... Auriez-vous une idée de pourquoi mon Imagecolorallocate ne fonctionne pas ?
 
Merci ;)

Reply

Marsh Posté le 08-01-2007 à 16:32:38   

Reply

Marsh Posté le 08-01-2007 à 16:39:02    

Pour info, ça marche correctement avec ImageCreate au lieu de ImageCreateTrueColor. Cependant, j'ai besoin de ImageCreateTrueColor car les images manipulées sont des photos d'assez bonne qualité et ImageCreate diminue grandement le rendu.
 
Merci ;)

Reply

Marsh Posté le 08-01-2007 à 16:51:08    

T'as oublié de faire un imagefill

Reply

Marsh Posté le 08-01-2007 à 16:54:03    

A oui, désolé, je l'ai pas mis dans mon copier-collé, je l'ai pourtant dans mon script :
 
$background_color = Imagecolorallocate($dst_im,255,255,255);
     imageFilledRectangle($dst_im, 0, 0, $largeur, $hauteur, $background_color);
 
Mais ça ne change rien...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed