Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Znak wodny na tle.png
Forum PHP.pl > Forum > PHP
laikkk
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 smile.gif

nospor
http://pl1.php.net/manual/en/function.imagecopymerge.php
powinno pomóc
laikkk
Dalej to samo występuje ;/. Może jakieś inne rady?
nospor
No ale użyłeś tego właściwie? Patrzyłes, ta funkcja ma jeden specyficzny parametr.... może w ogóle pokaż kod....
laikkk
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. }
nospor
Już znalazłem.... ja używam tego:
http://pl1.php.net/manual/en/function.imagecopyresampled.php
i działa smile.gif
laikkk
podmieniłem funkcje lecz dalej ten sam efekt, możesz mi podpowiedzieć jakiej dodatkowo funkcji używasz aby to działało?
nospor
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ąć smile.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.