Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zdiecie z dodanym graficznym podpisem ?
Forum PHP.pl > Forum > PHP
Jexx
Więc czy za pomocą php można połączyć dwa obrazki

tzn mam zdjęcie (jpg) i chciałbym na dole zdięcia wstawić znak graficzny (logo)
które jest np w formacie gif z przezroczystością

z góry dziekuję za pomoc i przepraszam jeśli temat był poruszany
Jim
ofc ze mozna! wystarczy miec zainstalowane biblioteki gd.
aby dodac tekst do obrazka w prawym dolnym rogu użyj takiego skryptu:

  1. <?php
  2. $obrazek = &#092;"url do obrazka\";
  3.  
  4. //pobieramy rozmiary obrazka
  5. $image_info = GetImageSize($obrazek);
  6. list($img_width, $img_height, $img_type, $img_width_height_string) = $image_info;
  7.  
  8.  
  9. header(&#092;"Content-type: image/png\");
  10.  
  11. if (($im = ImageCreateFromJpeg($obrazek)) !== &#092;"\") { // otworz obrazek
  12.  
  13. $black = ImageColorAllocate($im, 0, 0, 0); // ustawienie koloru RGB
  14. ImageString($im, 3, $img_width-190, $img_height-20, &#092;"copyrajt - orajt  by Jim  :-P\", $black);
  15. // ^ dodaj do obrazka tekst <czcionka>, <X>, <Y> wartości wspolrzednych zaleza od dlugosci tekstu
  16.  
  17. ImagePng($im); // wyswietl obrazek
  18.  
  19. }
  20. else echo &#092;"Błąd, nie można otworzyć generic.png do manipulowania!\";
  21.  
  22. ?>


a teraz to co chciales, czyli dodanie obrazka do obrazka. nie sprawdzalem tego na gif'ach z przezroczystoscia ale powinno dzialac:
  1. <?php
  2.  
  3. $logo = &#092;"url do malego obrazka\";
  4. $obrazek = &#092;"url do jpega\";
  5.  
  6. //pobieramy rozmiary obrazka
  7. $image_info = GetImageSize($logo);
  8. list($img_width, $img_height, $img_type, $img_width_height_string) = $image_info;
  9.  
  10.  
  11. header(&#092;"Content-type: image/jpeg\");
  12. header(&#092;"Content-type: image/gif\");
  13.  
  14. $im1 = ImageCreateFromGif($logo);
  15. $im2 = ImageCreateFromJpeg($obrazek);
  16.  
  17. ImageCopy($im2, $im1, 20, 20, 0, 0, $img_width, $img_height);
  18. // int imagecopy ( int zrodlo, int cel,
  19. //  int cel_x, int cel_y, int zrodlo_x, int zrodlo_y,
  20. //  int zrodlo_w, int zrodlo_h )
  21.  
  22. ImageJpeg($im2);
  23.  
  24. ImageDestroy($im2);
  25. ImageDestroy($im1);
  26.  
  27. ?>


smile.gif
Jexx
DZIEKUJE bardzo mi pomogłeś
laugh.gif laugh.gif laugh.gif laugh.gif
  1. <?php
  2.  
  3. $logo = &#092;"az_baner.gif\";
  4. $obrazek = &#092;"kreacja_2_0.png\";
  5.  
  6. //pobieramy rozmiary obrazka
  7. $image_info = GetImageSize($obrazek);
  8. list($img_width, $img_height, $img_type, $img_width_height_string) = $image_info;
  9.  
  10.  
  11.  
  12.  
  13. header(&#092;"Content-type: image/jpeg\");
  14. header(&#092;"Content-type: image/gif\");
  15.  
  16. $im1 = ImageCreateFromGif($logo);
  17. $im2 = ImageCreateFromPng($obrazek);
  18.  
  19. ImageCopy($im2, $im1, 0, $img_height-107, 0, 0, $img_width, 107);
  20. // int imagecopy ( int zrodlo, int cel,
  21. //  int cel_x, int cel_y, int zrodlo_x, int zrodlo_y,
  22. //  int zrodlo_w, int zrodlo_h )
  23.  
  24. ImageJpeg($im2);
  25.  
  26. ImageDestroy($im2);
  27. ImageDestroy($im1);
  28.  
  29. ?>


jak widzisz wykorzystując obie twoje rady zminiłem troszke kod tak aby moje logo bylo na dole zdjęcia, a że jest wysokości 107 px więc ztąd to 107
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.