login  Naam:   Wachtwoord: 
Registreer je!
 Forum

GD imagelayereffect met 2 image resources (Opgelost)

Offline Ontani - 13/03/2010 13:51
Avatar van OntaniGouden medailleGouden medailleGouden medailleGouden medaille

-1
ik heb de volgende code:
  1. header('Content-type: image/png');
  2.  
  3. $im = imagecreatetruecolor(100, 100);
  4. imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im,255, 0, 0));
  5.  
  6. $gradient = imagecreatetruecolor(100, 100);
  7. imagecolorgradient($gradient, 0, 0, 100, 100, array(255, 255, 255), array(0, 0, 0));
  8.  
  9. imagelayereffect($im, IMG_EFFECT_NORMAL);
  10. imagecopy($im, $gradient, 0,0,0,0,100,100);
  11.  
  12. imagedestroy($gradient);
  13.  
  14. imagepng($im);
  15. imagedestroy($im);
  16.  
  17.  
  18. function imagecolorgradient($im, $x1, $y1, $height, $width, $left_color, $right_color)
  19. {
  20. $color0=($left_color[0]-$right_color[0])/$width;
  21. $color1=($left_color[1]-$right_color[1])/$width;
  22. $color2=($left_color[2]-$right_color[2])/$width;
  23. for ($i=0;$i<=$width;$i++)
  24. {
  25. $red=$left_color[0]-floor($i*$color0);
  26. $green=$left_color[1]-floor($i*$color1);
  27. $blue=$left_color[2]-floor($i*$color2);
  28. $col= imagecolorallocate($im, $red, $green, $blue);
  29. imageline($im, $x1+$i, $y1, $x1+$i, $y1+$height, $col);
  30. }
  31. }


$im = een rood vierkant van 100 x 100.
$gradient = een horizontale gradient van wit naar zwart, ook 100 x 100

M'n resultaat is een horizontale gradient van wit naar zwart (M'n $gradient resource dus). Maar ik wil het volgende resultaat:

http://dl.dropbox.com/u/79192/pngreflect.png

1 antwoord

Gesponsorde links
Offline TotempaaltJ - 13/03/2010 21:23
Avatar van TotempaaltJ PHP interesse Je zult iets moeten doen met PHP.net: imagecolorallocatealpha. Je zwart zal volledig ondoorzichtig en je wit volledig doorzichtig moeten zijn.
Volgens mij niet zo ingewikkeld; ipv color1 en color2 zal je alpha1 en alpha2, en dan ook nog maincolor (rood, in jouw geval) moeten vragen. Dan kan je ipv red, green en blue zo interessant veranderen, alpha op die manier veranderen - werkt net als van 0 tot 255, maar dan tot 127 - en dan in red, green en blue gewoon je maincolor invullen. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s