Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Nakładanie znaku wodnego na obrazek
--Popson--
post 29.11.2011, 08:52:41
Post #1





Goście







Witam!
Próbuję zrobić automatyczne nakładanie znaku wodnego na obrazek. Znalazłem kilka rozwiązań, ale żadne nie zadziałało do końca poprawnie. Znak wodny jest w formacie png o rozmiarach 400x400. O ile na jpg nakłada się doskonale, tak na png już nie bardzo. Wygląda to tak jak by się "wysypywały" cienie.

  1. $znak = System_Path::get('productGfx')."/watermark/znak.png";
  2. $path = System_Path::get('productGfx')."/".$hash.".jpg";
  3. $info_img = getimagesize($path);
  4. $info_mark = getimagesize($znak);
  5.  
  6. switch($info_img[2]){
  7. case 1: $image = imagecreatefromgif($path);
  8. break;
  9. case 2: $image = imagecreatefromjpeg($path);
  10. break;
  11. case 3: $image = imagecreatefrompng($path);
  12. break;
  13. }
  14.  
  15. $watermark = imagecreatefrompng($znak);
  16.  
  17. $x = imagesx($image);
  18. $y = imagesy($image);
  19.  
  20. $new_mark = imagecreatetruecolor($x,$y);
  21. imagealphablending($new_mark, false);
  22. imagesavealpha($new_mark, true);
  23. imagecopyresampled($new_mark, $watermark, 0, 0, 0, 0, $x, $y, 400, 400);
  24.  
  25. imagealphablending($new_mark, false);
  26. imagesavealpha($new_mark, true);
  27.  
  28.  
  29. imagecopy($image,$new_mark,0,0,0,0,$x,$y);
  30. imagepng($image, System_Path::get('productGfx')."/".$hash.".png",9);
  31. rename(System_Path::get('productGfx')."/".$hash.".png", System_Path::get('productGfx')."/".$hash.".jpg");
  32. imagedestroy( $image );
  33. imagedestroy( $watermark );
  34. imagedestroy( $new_mark );


Przykładowy przerobiony obrazek png:


Będę wdzięczny za pomoc:)
Pozdrawiam!
Piotrek
Go to the top of the page
+Quote Post

Posty w temacie
- -Popson-   [php] Nakładanie znaku wodnego na obrazek   29.11.2011, 08:52:41
- - xsonic   Wykorzystaj do tego imagemagick zastosuj funkcje ...   29.11.2011, 10:45:37


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 16:18