Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Znak wodny na pliki które sa juz na serwerze
Forum PHP.pl > Forum > Przedszkole
stanisław
Witam... czy istnieje sposób na dodawania znaku wodnego do grafik znajdujących się w danym katalogu? np jeśli ktoś wywoła dane zdjęcie zeby nabiło na niego znak wodny
borykałem się z takim skryptem
.htaccess
  1. RewriteRule ^(.*)wp-content/uploads/(.*) $1watermark.php?src=wp-content/uploads/$2


plik php
  1. <?php
  2. $src = $_GET['src'];
  3.  
  4. header('Content-type: image/jpeg');
  5.  
  6. if (eregi("150x150", $src)) {
  7. $watermark = imagecreatefrompng('empty.png');
  8. } else {
  9. $watermark = imagecreatefrompng('watermark.png');
  10. }
  11. $watermark_width = imagesx($watermark);
  12. $watermark_height = imagesy($watermark);
  13. $image = imagecreatetruecolor($watermark_width, $watermark_height);
  14. if(eregi('.gif',$src)) {
  15. $image = imagecreatefromgif($src);
  16. }
  17. elseif(eregi('.jpeg',$src)||eregi('.jpg',$src)) {
  18. $image = imagecreatefromjpeg($src);
  19. }
  20. elseif(eregi('.png',$src)) {
  21. $image = imagecreatefrompng($src);
  22. }
  23. else {
  24. exit("Your image is not a gif, jpeg or png image. Sorry.");
  25. }
  26. $size = getimagesize($src);
  27. $dest_x = $size[0] - $watermark_width - 0;
  28. $dest_y = $size[1] - $watermark_height - 0;
  29. imagecolortransparent($watermark,imagecolorat($watermark,0,0));
  30. imagecopyresampled($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
  31.  
  32. imagejpeg($image, "", 95);
  33. imagedestroy($image);
  34. imagedestroy($watermark);
  35. ?>
erix
Cytat
czy istnieje sposób na dodawania znaku wodnego do grafik znajdujących się w danym katalogu?

Uwaga, odpowiedź: TAK. Więcej pytań w poście nie widzę, więc to chyba jedyny problem.
stanisław
czyli odpowiedź juz znalazłem smile.gif o to mi chodziło smile.gif
teraz kolejne pytanie... czy ten skrypt który wkleiłem w pierwszym poście załatwia sprawę (jeśli tak to czemu nie załatwia) jesli nie jak tego dokonać smile.gif
d3f3nd3r
watermark wpisz w google jest wiele gotowych rozwiązań
stanisław
tak tez to zauważyłem ale.... nie mogę sobie poradzić , wałkuje temat od 3 dni, bez skutku, wypróbowałem z 10 przykładów i duupa
generalnie odnosżą sie do nakładania znaku w locie ale nie szukam czegos co nałoży znak przy wywołaniu samej grafiki z serwera, np wgranej z ftpa
d3f3nd3r
Trzeba by sobie napisać funkcję nakładającą znak na wszystkie pliki w danym katalogu lub tylko wyznaczone pliki ewentualnie skrypcik, gdzie odwołuje się tak:

  1. <img src="znakwodny.php?obraz=<? echo "$_GET[obraz]";?>&znak=znakwodny.gif" border="0">


inne rozwiązania mi nie przychodzą do głowy.

mortus
Chyba nie rozumiem o co Ci chodzi, bo Twój skrypt przecież działa prawidłowo. Chodzi Ci o to, żeby znak wodny został zapisany na obrazku?
erix
A przeglądałeś listę parametrów dla imagejpeg? snitch.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.