[PHP][GD][Résolu] Création de bordure en fondu

Création de bordure en fondu [PHP][GD][Résolu] - PHP - Programmation

Marsh Posté le 07-04-2006 à 15:45:05    

Bonjour,  
 
Voila je suis en train de concevoir un générateur de signature pour le plaisir :p
 
Et je suis confronté a un petit soucis  :pfff:  
 
Comme une image vaut bien mieu qu'un long discour :
 
http://img88.imageshack.us/img88/1409/transparence5rc.png
 
 
Voici le source qui me pose soucis :
 

Code :
  1. header("Content-type: image/png" ); !
  2. // Image size
  3. $x = 400;
  4. $y = 200;
  5. // Background color
  6. $background_red = 255;
  7. $background_green = 100;
  8. $background_blue = 100;
  9. // Array of alpha border color
  10. $border_color = array();
  11. // Border color
  12. $border_color_red = 0;
  13. $border_color_green = 0;
  14. $border_color_blue = 0;
  15. $image = imagecreatetruecolor($x,$y);
  16. $background = imagecolorallocate($image, $background_red, $background_green, $background_blue);
  17. imagefill($image, 0, 0, $background);
  18. // Allocation des couleurs
  19. for($i = 0; $i < 30; $i++)
  20.         $border_color[] = imagecolorallocatealpha($image, $border_color_red, $border_color_green, $border_color_blue, ($i*5));       
  21. for($i = 0; $i < 30; $i++)
  22. {
  23.         imageline($image, $i, 0, $i, $y, $border_color[$i]);
  24.         imageline($image, 0, $i, $x, $i, $border_color[$i]);
  25.         imageline($image, 0, ($y-$i), $x, ($y-$i), $border_color[$i]);
  26.         imageline($image, ($x-$i), 0, ($x-$i), $y, $border_color[$i]);
  27. }
  28. imagepng($image);
  29. imagedestroy($image);


 
J'avoue ne pas trop comprendre d'ou sorte ces barre noires  :heink:


Message édité par Koyomi le 07-04-2006 à 16:00:45
Reply

Marsh Posté le 07-04-2006 à 15:45:05   

Reply

Marsh Posté le 07-04-2006 à 15:53:28    

Bon j'ai trouvé,  
 
cela vient du coef ($i*5)
 
Quand $i*5 est supérieur à 127 (valeur alpha de la transparence) alors la valeur alpha prise est 0 ;)
 

Reply

Sujets relatifs:

Leave a Replay

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