Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Znak wodny na tle.png
laikkk
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.11.2010

Ostrzeżenie: (0%)
-----


Witam, jakich funkcji użyć żeby nałożyć obrazek png(wathermark) na inny plik w formacie png aby tło.png miało dalej przezroczyste tło?
Próbowałem zwykłym imagecopy() lecz ten wstawia biały kolor w przezroczyste pixele ;/.

Pozdrawiam (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl1.php.net/manual/en/function.imagecopymerge.php
powinno pomóc
Go to the top of the page
+Quote Post
laikkk
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.11.2010

Ostrzeżenie: (0%)
-----


Dalej to samo występuje ;/. Może jakieś inne rady?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale użyłeś tego właściwie? Patrzyłes, ta funkcja ma jeden specyficzny parametr.... może w ogóle pokaż kod....
Go to the top of the page
+Quote Post
laikkk
post
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.11.2010

Ostrzeżenie: (0%)
-----


Oto kod funkcji z imagecopymerge
  1. function Watermark($photo) {
  2.  
  3. $size = getimagesize($photo);
  4. switch ($size["mime"]) {
  5. case "image/jpeg":
  6. $image = imagecreatefromjpeg($photo);
  7. break;
  8. case "image/png":
  9. $image = imagecreatefrompng($photo);
  10. break;
  11. default:
  12. return false;
  13. break;
  14. }
  15.  
  16. $watermark = imagecreatefrompng('images/wathermark.png');
  17. $width = imagesx($image);
  18. $height = imagesy($image);
  19. $watermark_width = imagesx($watermark);
  20. $watermark_height = imagesy($watermark);
  21. $margbot=0;
  22. $margleft=0;
  23.  
  24. imagecopymerge($image, $watermark, (($width - $width)) + $margleft, (($height - $watermark_height)) - $margbot, 0, 0, $watermark_width, $watermark_height,70); // tu rożnica pomiedzy imagecopy() a imagecopymerge() jest ostatni parametr
  25. switch ($size["mime"]) {
  26. case "image/jpeg":
  27. imagejpeg($image, $photo);
  28. break;
  29. case "image/png":
  30. imagepng($image, $photo);
  31. break;
  32. default:
  33. return false;
  34. break;
  35. }
  36. imagedestroy($image);
  37. imagedestroy($watermark);
  38. }
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Już znalazłem.... ja używam tego:
http://pl1.php.net/manual/en/function.imagecopyresampled.php
i działa (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
laikkk
post
Post #7





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.11.2010

Ostrzeżenie: (0%)
-----


podmieniłem funkcje lecz dalej ten sam efekt, możesz mi podpowiedzieć jakiej dodatkowo funkcji używasz aby to działało?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




JA tam używałem tego i mi działało. Ino nie pamiętam czy oba były png czy tylko jeden. Sądziłem, że oba więc napisałem, no ale głowy sobie za to nie dam uciąć (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 18:10