Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][gd]Kopiowanie z przezroczystościom
Forum PHP.pl > Forum > PHP
sazian
Witam,
mam pewien problem przy "kopiowaniu z przezroczystością"
otóż mam taki przykładowy kod

  1. $image_1 = $im = imagecreate(200, 200);
  2. $image_2 = $im = imagecreate(50, 50);
  3.  
  4.  
  5. $c1=imagecolorallocatealpha($image_1, 0, 100, 0, 0);
  6. imagefilledrectangle($image_1,0,0,200,200,$c1);
  7.  
  8.  
  9.  
  10. $c2=imagecolorallocatealpha($image_2, 100, 0, 100, 50);
  11. imagefilledrectangle($image_2,0,0,50,50,$c2);
  12.  
  13.  
  14.  
  15. imagecopy($image_1, $image_2, 10, 10, 0, 0, 50, 50);
  16. imagepng($image_1, 'image_3.png');
  17. imagedestroy($image_1);
  18. imagedestroy($image_2);

a oto efekt działania


zamierzenie było takie że powinien zostać na zielone tło naniesiony półprzezroczysty obrazek takie "połączenie warstw"
tymczasem ten kod "wycina półprzezroczystą dziurę"
z góry zaznaczam że na $image_2 będą również elementy nie przezroczyste

jak wykonać takie kopiowanie - o ile jest możliwe questionmark.gif
wizu
Przy generowaniu przezroczystych png przydatna będzie funkcja imagesavealpha()
sazian
próbowałem funkcji imagesavealpha i imagealphablending we wszystkich konfiguracjach i nic nie pomogło

edit:
może dodam że jeśli wczytam dwa obrazki png to wtedy mogę je bez problemu nałożyć na siebie problem dotyczy tylko "grafiki generowanej skryptem"
cycofiasz
Zamiast imagecreate użyj imagecreatetruecolor
sazian
ehhh..
gd ma zdecydowanie za dużo funkcji robiących prawie to samo biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.