Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Znak wodny
Forum PHP.pl > Forum > Przedszkole
MateuszS
Szukam skryptu, funkcji nakładającej jeden obrazek na drugi (znak wodny), znalazłem na necie tylko takie z napisami, a ja chcialbym nalozyc obrazek (na gorny lewy rog). Pozdrawiam
thek
To radzę pomyśleć i przyjrzeć się w manualu funkcjom z bblioteki GD innym. To tylko wklejenie obrazka do obrazka smile.gif Najszybciej to zrobisz poprzez wklejenie częściowo przezroczystego png używając imagecopyresampled lub podobnej.
franki01
Na giełdę ofert.
kfc4
http://pl.php.net/manual/pl/function.image...merge.php#steve , jak chcesz się sam pomęczyć, lub http://forum.php.pl/index.php?showtopic=57084 , http://blog.zeromski.com.pl/2009/02/php-gd...cje-na-obrazku/ jak raczej nie lubisz się przemęczać.
scanner
A na swoim podwórku ciężko poszukać? http://wortal.php.pl/wortal/artykuly/php/b...e_grafiki_w_php
CyberDuck_
Tak na szybko napisalem cos takiego, ale dziala :

  1. <?php
  2.  
  3. #$obraz = imagecreatefromgif("5.jpg"); // glowny obrazek jeśli to gif
  4. $obraz = imagecreatefromjpeg("5.jpg"); // glowny obrazek jeśli to jpeg lub jpg
  5. $dodawany = "ank_01.jpg"; // dodawany obrazek
  6. $dodany = imagecreatefromjpeg($dodawany);
  7. $x = 50; // współrzędna X nałożenia obrazka
  8. $y = 45; // współrzędna Y nałożenia obrazka
  9. $alfa = 40; // przezroczystość obrazka dodawanego
  10. $polaczony = "nowy.jpg"; // nazwa polaczonego obrazka
  11. # $obraz = imagecreatefromjpeg("$calasciezka");
  12. @imagecopymerge($obraz, $dodany, $x,$y, 0,0, 165,155, $alfa);
  13. @imagejpeg($obraz, $polaczony, 100);
  14.  
  15. echo "<img src=\"$polaczony\">";
  16.  
  17. ?>


Sprawdzone.
Jako glowny obrazek pod spodem jest 5.jpg, na to jest nakladany
z wybrana przezroczystoscia obrazek ank_01.jpg i tworzony jest nowy
nowy.jpg . Mozesz sobie to zobaczyc i sprawdzic jak dziala tutaj :
http://www.bluelan.pl/przyklad_gd/

Zeby sobie policzyc wszystko zainteresuj sie getimagesize .

W tym samym folderze sa obrazki :
http://www.bluelan.pl/przyklad_gd/5.jpg
http://www.bluelan.pl/przyklad_gd/ank_01.jpg

Co do tego Twojego skryptu. Sprawdz jaki ma chmod Twoj folder do, ktorego
probujesz zapisac obrazek bo moze skrypt dziala prawidlowo ... juz mi sie
nie chcialo ze wzgledu na godzine analizowac go, ale jesli nie bedzie
zezwolenia na zapis to skrypt wykona obrazek, ale nie bedzie mogl go zapisac.
MateuszS
dzieki swietny skrypt, wywoluje funkcje ta function($sciezka, $nazwaobrazka) ale nie zapisuje mi do $sciezka obrazka ;/


//edit

ok problem solved

rename() + unlink()

Ok problem jednak nie solved, korzystalem z funkcji z manuala

  1. function znak($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct)
  2. {
  3.  
  4. $opacity=$pct;
  5.  
  6. $w = imagesx($src_im);
  7.  
  8. $h = imagesy($src_im);
  9.  
  10.  
  11.  
  12. $cut = imagecreatetruecolor($src_w, $src_h);
  13.  
  14. imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
  15.  
  16. $opacity = 100 - $opacity;
  17.  
  18. imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
  19.  
  20. imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);
  21.  
  22. }
  23.  
  24. $dodany = imagecreatefrompng("images/logowatra.png"); //znak wodny
  25.  
  26.  
  27. $x = 25; // wsp?rz?dna X na?o?enia obrazka
  28.  
  29. $y = 20; // wsp?rz?dna Y na?o?enia obrazka
  30.  
  31. $alfa = 70; // przezroczysto?? obrazka dodawanego


i próbuje wywolac ja

znak($obraz, $dodany, $x,$y, 0,0, 289,103, $alfa);

gdzie $obraz to link do obrazka a $dodany to znak wodny, niestety wywala pelno errorow, moje pliki sa w jpeg

pozdrawiam
CyberDuck_
Nie szkodzi ze jest jpg ...
Zamiast imagecreatefromgif daj imagecreatefromjpg .
Skrypt dziala i to bardzo dobrze. Zreszta przyklad tez byl
robiony na jpg.
MateuszS
ok juz poradzilem sobie, przerobilem obrazek
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.