Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyśrodkowanie znaku wodnego
kubax33
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


$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.

Ten post edytował kapslokk 12.02.2016, 13:54:14
Go to the top of the page
+Quote Post
kubax33
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


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;

Go to the top of the page
+Quote Post

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: 16.09.2025 - 00:04