Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Znak wodny
szymek001
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 21.09.2005

Ostrzeżenie: (10%)
X----


Witam, znalazłem na http://www.webtips.pl/post14180.html instrukcje jak zrobić znak wodny na pliku:

znak.php
  1. <?php
  2.  
  3. // znaku wodnego mozna uzywac tylko na obrazkach .jpg. gif .png
  4. // jako znak wodny mozna uzyc tylko przezroczysty obrazek
  5. // b.michalski@dstudio.pl
  6.  
  7.  
  8. $imagesource = $_GET['obraz'];
  9. $watermarkPath = $_GET['znak'];
  10. $filetype = substr($imagesource,strlen($imagesource)-4,4);
  11. $filetype = strtolower($filetype);
  12. $watermarkType = substr($watermarkPath,strlen($watermarkPath)-4,4);
  13. $watermarkType = strtolower($watermarkType);
  14.  
  15. if($filetype == ".gif")
  16. $image = @imagecreatefromgif($imagesource);
  17. else
  18. if($filetype == ".jpg" || $filetype == "jpeg")
  19. $image = @imagecreatefromjpeg($imagesource);
  20. else
  21. if($filetype == ".png")
  22. $image = @imagecreatefrompng($imagesource);
  23. else
  24. die();
  25.  
  26. if(!$image)
  27. die();
  28.  
  29. if($watermarkType == ".gif")
  30. $watermark = @imagecreatefromgif($watermarkPath);
  31. else
  32. if($watermarkType == ".png")
  33. $watermark = @imagecreatefrompng($watermarkPath);
  34. else
  35. die();
  36.  
  37. if(!$watermark)
  38. die();
  39.  
  40. $imagewidth = imagesx($image);
  41. $imageheight = imagesy($image);
  42. $watermarkwidth = imagesx($watermark);
  43. $watermarkheight = imagesy($watermark);
  44. $startwidth = (($imagewidth - $watermarkwidth) );
  45. $startheight = (($imageheight - $watermarkheight) );
  46. imagecopy($image, $watermark, $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);
  47. imagejpeg($image);
  48. imagedestroy($image);
  49. imagedestroy($watermark);
  50. ?>


użycie:
Kod
<img src="znak.php?obraz=obrazek.jpg&znak=znaczek.jpg" border="0">


lecz jak zrobić by znak był zawsze bez dopisywania &znak=znaczek.jpg w linku?

próbowałem podmienić zmienną
  1. <?php
  2. $watermarkPath = $_GET['znak'];
  3. ?>


na
  1. <?php
  2. $watermarkPath = http://adres.obrazka.pl/znak_wodny.jpg;
  3. ?>


ale to nie działało.



Z góry dziękuje za odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował szymek001 9.08.2008, 20:45:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Ja uzywam cos takiego:
  1. <?php
  2. function img_on_img($plik, $znaczek, $pozycja) {
  3.  
  4. $image1 = imagecreatefromjpeg($znaczek);
  5. $image2 = imagecreatefromjpeg($plik);
  6. $plik_w = imagesx($image2);
  7. $plik_h = imagesy($image2);
  8. $znaczek_w = imagesx($image1);
  9. $znaczek_h = imagesy($image1);
  10.  
  11. if($pozycja == "tl") {
  12. $od_x = 0;
  13. $od_y = 0;
  14. }
  15. if($pozycja == "tr") {
  16. $od_x = $plik_w - $znaczek_w;
  17. $od_y = 0;
  18. }
  19. if($pozycja == "bl") {
  20. $od_x = 0;
  21. $od_y = $plik_h - $znaczek_h;
  22. }
  23. if($pozycja == "br") {
  24. $od_x = $plik_w - $znaczek_w;
  25. $od_y = $plik_h - $znaczek_h;
  26. }
  27.  
  28. imagecopy($image2, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h);
  29. imagejpeg($image2);
  30. imagedestroy($image1);
  31. imagedestroy($image2);
  32.  
  33. }
  34. ?>

Dziala tylko dla jpeg wiec sobie zmien funkcje zeby dzialalo na wszystkich typach.
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: 28.12.2025 - 02:52