![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Problem jak w temacie... Chce nałożyć obrazek w formacie PNG z kanałem alpha na inny obrazek wykorzystując funkcję imagecopymerge, z ustawionym poziomem przezroczystości... problem polega na tym, że funkcja ta niszczy kanał alpha obrazka png i w rezultacie obrazek ten zachowuje sie, jakby mial normalne tlo... owszem, gdy nalozy sie go na inny obrazek ma on zadany poziom przezroczystosci Jak taki problem rozwiazac? EDIT: problem rozwiazalem w nastepujacy sposob: $imgdest - obrazek docelowy $imgsrc - obrazek zrodlowy png z kanalem alpha $imgtmp - obrazek tymczasowy - wymagany do poprawnego kopiowania zalozmy, ze wszystkie obrazki maja ten sam staly rozmiar 300x200px wykonuje takie polecenia: imagecopyresampled($imgtmp, $imgdest, 0, 0, 0, 0, 300, 200, 300, 200); imagecopyresampled($imgtmp, $imgsrc, 0, 0, 0, 0, 300, 200, 300, 200); imagecopymerge($imgdest, $imgtmp, 0, 0, 0, 0, 300, 200, 50); Czy da sie to rozwiazac w inny sposob? Tj mam na mysli inna funkcja, czy taka istnieje, bo funkcja imagecopymerge nie rozwiaze sie tego w inny sposob.... Ten post edytował likemandrake 23.11.2007, 22:26:41 |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewien jak to jest z kanałem alpha w png, ale w gifach "kolor przezroczysty" to poprostu jakikolwiek kolor (np czarny). Poprostu ustawiasz index koloru, który ma być traktowany jako przezroczysty. Poczytaj o funkcjach:
imagecolorallocatealpha(); imagecolortransparent(); Nie wiem czy to coś pomoże (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 1 Dołączył: 1.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mialem ten sam problem. Jak ten drugi obrazek to rowniez nie bedzie png, to po kanale alpha. Probowalem na rozne sposoby z imagecopymerge kombinowac, imagesavealpha, imagealphablending itd, nic to nie dalo. Trzeba to w inny sposob obejsc:
http://uk.php.net/manual/en/function.image...nding.php#71765 Czasami komenty na php.net sie przydaja. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 20.12.2012 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Polecam API do ImageMagick.
Zbadaj sprawę z ImageMagick, jest bardziej rozbudowane niż GD: Opisałem u siebie na blogu jak łączyć warstwy PNG z przezroczystością. Tu fragment:
Ten post edytował krakiewicz.pl 6.06.2013, 16:01:54 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 16:39 |