Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyśrodkowanie znaku wodnego
Forum PHP.pl > Forum > Przedszkole
kubax33
Jak ustalić pozycję znaku wodnego w poniższym skrypcie? W tej chwili znak wodny dodawany jest w prawym dolnym rogu. Chciałbym, aby znak był na samym środku. Jak tym manewrować?

  1. $znak = imagecreatefrompng('watermark.png');
  2. $img = imagecreatefromjpeg($save_file);
  3.  
  4. $plik_w = imagesx($img);
  5. $plik_h = imagesy($img);
  6.  
  7. $znaczek_w = imagesx($znak);
  8. $znaczek_h = imagesy($znak);
  9.  
  10.  
  11. $od_x = $plik_w - $znaczek_w;
  12. $od_y = $plik_h - $znaczek_h;
  13.  
  14.  
  15. imagecopy($img, $znak, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h);
  16.  
  17.  
  18. imagejpeg($img, $save_file, 80);





Znalazłem zasadę lewy i prawy górny róg oraz dolny prawy i lewy, ale jak ustalić środek nie mogę znaleźć

  1. if( $pozycja == "tl" )
  2. {
  3. $od_x = 0;
  4. $od_y = 0;
  5. }
  6. if( $pozycja == "tr" )
  7. {
  8. $od_x = $plik_w - $znaczek_w;
  9. $od_y = 0;
  10. }
  11. if( $pozycja == "bl" )
  12. {
  13. $od_x = 0;
  14. $od_y = $plik_h - $znaczek_h;
  15. }
  16. if( $pozycja == "br" )
  17. {
  18. $od_x = $plik_w - $znaczek_w;
  19. $od_y = $plik_h - $znaczek_h;
  20. }
kapslokk
$od_x = $plik_w - $znaczek_w;
$od_y = $plik_h - $znaczek_h;
Tutaj wyliczasz prawy dolny rog. Zeby bylo na srodku musisz miec wyliczone:
x = (szerokosc obrazka / 2) - (szerokosc znaku wodnego / 2)
y = (wysokosc obrazka / 2) - (wysokosc znaku wodnego /2 )
I to bedzie punkt w ktorym masz wstawić znak wodny.
kubax33
Cytat(kapslokk @ 12.02.2016, 13:53:06 ) *
$od_x = $plik_w - $znaczek_w;
$od_y = $plik_h - $znaczek_h;
Tutaj wyliczasz prawy dolny rog. Zeby bylo na srodku musisz miec wyliczone:
x = (szerokosc obrazka / 2) - (szerokosc znaku wodnego / 2)
y = (wysokosc obrazka / 2) - (wysokosc znaku wodnego /2 )
I to bedzie punkt w ktorym masz wstawić znak wodny.



super dzięki zadziałało

  1. $plik_w2 = $plik_w / 2;
  2. $plik_h2 = $plik_h / 2;
  3. $znaczek_w2 = $znaczek_w / 2;
  4. $znaczek_h2 = $znaczek_h / 2;
  5.  
  6. $od_x = $plik_w2 - $znaczek_w2;
  7. $od_y = $plik_h2 - $znaczek_h2;

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.