Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> funkcja imagecopymerge niszczy kanał alpha pliku png
likemandrake
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ayeo
post
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)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 19:19