Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]znak wodny png na różnych zdjęciach
jakis_login
post
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

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


Witam,
Stworzyłem funkcję do tego aby na zdjęcia zostały nakładane znaki wodne. Mam problem ze znakiem wodnym który jest w formacie png. Gdy zdjęcie jest w formacie jpg to znak wodny w png nie wygląda tak jak należy, poprostu mieszają się jakby kolory. Co zrobić aby logo ze znakiem wodnym w png był prawidłowo nakładany na różnego formatu zdjęcia? Poniżej moja funkcja:
  1. public static function imageWithWatermark($photo){
  2.  
  3. $size=getimagesize($photo);
  4. switch($size["mime"]){
  5. case "image/jpeg":
  6. $image = imagecreatefromjpeg($photo); //jpeg file
  7. break;
  8. case "image/gif":
  9. $image = imagecreatefromgif($photo); //gif file
  10. break;
  11. case "image/png":
  12. $image = imagecreatefrompng($photo); //png file
  13. break;
  14. default:
  15. return false;
  16. break;
  17. }
  18.  
  19. $watermark = imagecreatefrompng('files/znak_wodny.png');
  20.  
  21. $width = imagesx($image);
  22. $height = imagesy($image);
  23. $watermark_width = imagesx($watermark);
  24. $watermark_height = imagesy($watermark);
  25.  
  26. imagecopymerge($image, $watermark, (($width - $watermark_width))-10, (($height - $watermark_height))-10, 0, 0, $watermark_width, $watermark_height, 60);
  27.  
  28. switch($size["mime"]){
  29. case "image/jpeg":
  30. imagejpeg($image, $photo); //jpeg file
  31. break;
  32. case "image/gif":
  33. imagegif($image, $photo); //gif file
  34. break;
  35. case "image/png":
  36. imagepng($image, $photo); //png file
  37. break;
  38. default:
  39. return false;
  40. break;
  41. }
  42. //imagejpeg($image, $photo); //zapisuje obrazek juz ze znakiem wodnym
  43. imagedestroy($image);
  44. imagedestroy($watermark);
  45. }
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: 22.08.2025 - 23:08