Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Automatyczne nanoszenie napisow na obrazki
Bojakki
post 22.04.2006, 08:03:53
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Chialem sie zapytac czy da sie zrobic cos takiego, by do kazdego wysylanego (przez formularz na stronie) obrazka na serwer automatycznie sie dodawal napis, np. z adresem strony. Sam napis mialby byc bardzo prosty, biala czcionka na czarnym prostokaciku umieszczony gdzies tam w prawym dolnym rogu.


--------------------
Go to the top of the page
+Quote Post
Adiasz
post 22.04.2006, 09:24:24
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


Bez problemu, Image Functions
Go to the top of the page
+Quote Post
Bojakki
post 22.04.2006, 10:44:09
Post #3





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Wszystko fajnie, poszedlem nawet na latwizne i znalazlem taki kod:
  1. <?php 
  2.  
  3. $znaczek = "images/znak.gif"; 
  4. $pozycja = "tl"; // lewy górny róg 
  5. $pozycja = "tr"; // prawy górny róg 
  6. $pozycja = "bl"; // lewy dolny róg 
  7. $pozycja = "br"; // prawy dolny róg 
  8.  
  9. function znaczek($plik,$pozycja) 
  10. { 
  11. global $znaczek; 
  12.  
  13. $image1 = imagecreatefromgif( $znaczek ); // importujemy plik gif ze znakiem 
  14. $image2 = imagecreatefromjpeg( $plik ); // otwieramy plik jpg, na którym ma być naklejony znaczek 
  15. $plik_w = imagesx( $image2 ); // szerokość pliku 
  16. $plik_h = imagesy( $image2 ); // wysokość pliku 
  17. $znaczek_w = imagesx( $image1 ); // szerokość znaczka 
  18. $znaczek_h = imagesy( $image1 ); // wysokość znaczka 
  19.  
  20. if( $pozycja == "tl" ) 
  21. { 
  22. $od_x = 0; 
  23. $od_y = 0; 
  24. } 
  25. if( $pozycja == "tr" ) 
  26. { 
  27. $od_x = $plik_w - $znaczek_w; 
  28. $od_y = 0; 
  29. } 
  30. if( $pozycja == "bl" ) 
  31. { 
  32. $od_x = 0; 
  33. $od_y = $plik_h - $znaczek_h; 
  34. } 
  35. if( $pozycja == "br" ) 
  36. { 
  37. $od_x = $plik_w - $znaczek_w; 
  38. $od_y = $plik_h - $znaczek_h; 
  39. } 
  40.  
  41. imagecopy( $image2, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h ); 
  42. imagejpeg( $image2 ); 
  43. imagedestroy( $image1 ); 
  44. imagedestroy( $image2 ); 
  45.  
  46. } 
  47.  
  48. header( "Content-type: image/jpg" ); 
  49. znaczek("images/tp/tapeta.jpg","br"); 
  50. ?>


Generuje od obrazek z logiem w czsie rzeczywistym i wysyla do uzytkownika, wszystko fajnie dziala, ale czy jezeli na serwerze bede mial srednio 1 wywolanie obrazka na sekunde to czy nie za bardzo obciazy to serwer?

Ps. uzylem funkcji do pomiaru czasu generowania strony i wyszlo mi ze sie generuje 5-9 sekund, podczas gdy ja nie oczekuje na strone dluzej niz 1 sekunda. Jak to jest mozliwe?

Ten post edytował Bojakki 22.04.2006, 11:11:42


--------------------
Go to the top of the page
+Quote Post
TomASS
post 22.04.2006, 11:26:53
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Cytat
bede mial srednio 1 wywolanie obrazka na sekunde to czy nie za bardzo obciazy to serwer?

Nie powinno.
Cytat
Ps. uzylem funkcji do pomiaru czasu generowania strony i wyszlo mi ze sie generuje 5-9 sekund, podczas gdy ja nie oczekuje na strone dluzej niz 1 sekunda. Jak to jest mozliwe?

Pokaż kod jaki użyłeś do pomiaru czasu


--------------------
Go to the top of the page
+Quote Post
Bojakki
post 22.04.2006, 11:59:31
Post #5





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Kod wyglada tak:

Na poczatku strony:
  1. <?php
  2.  
  3. function gen_www()
  4. {
  5.  $time = explode(" ", microtime());
  6.  $usec = (double)$time[0];
  7.  $sec = (double)$time[1];
  8.  return $sec + $usec;
  9. }
  10. $start = gen_www();
  11.  
  12. ?>


na koncu strony:
  1. <?php
  2. $end = gen_www();
  3. $run = $end - $start;
  4. echo "Strona wygenerowana w " . substr($run, 0, 5) . " sek.<br />";
  5. ?>

Na innych stronach (gdzie wyjmuje dane z bazy MYSQL) kod ten pokazuje mi
0.001 sek - 0.01 sek


--------------------
Go to the top of the page
+Quote Post
Bastion
post 22.04.2006, 12:02:39
Post #6





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

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


pewnie tak to mozliwe ze obrazer masz w cache przegladarki, zrob test

zrob jeden obrazek z napisem "abc"

i ten sam obrazek z napisem "bcd"

jesli obrazek 2 bedzie mial taka sama nazwe jak pierwszy, duze prawdopodbienstwo ze polecie z cache przegladarki obrazek 1 z napisem abc


--------------------
Go to the top of the page
+Quote Post
Apo
post 22.04.2006, 12:50:44
Post #7





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


To ja pokaże co dawno temu napisałem jak próbowałem takie coś zrobić smile.gif
  1. <?php
  2. class znak_wodny
  3. {
  4. var $file;
  5. var $napis = 'Znak wodny';
  6. var $type;
  7.  
  8. function znak_wodny( $file, $action=)
  9. {
  10. if(file_exists($file))
  11. {
  12. $this->file = $file;
  13. $this->set_sizes();
  14. }
  15.  else die('Brak pliku');
  16. }
  17.  
  18. function set_sizes()
  19. {
  20. $img = imagecreatefromjpeg($this->file);
  21. $bg = imagecolorexactalpha($img, 95, 95, 95, 40);
  22. imagestring($img, 5, 1, 1, $this->napis, $bg);
  23. imagejpeg($img);
  24. imagedestroy($img);
  25. header( "Content-type: image/jpg" );
  26. }
  27. }
  28.  
  29. $znak = new znak_wodny('./artykuly.jpg')
  30. ?>
Go to the top of the page
+Quote Post
Bojakki
post 22.04.2006, 14:24:40
Post #8





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Apo ----> dzieki za kod.

Juz jest wszystko OK. generowanie obrazka zajmuje srednio 0.063 sek

Ten post edytował Bojakki 22.04.2006, 16:48:49


--------------------
Go to the top of the page
+Quote Post
MalyKazio
post 28.05.2006, 17:42:53
Post #9





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Chciałbym rozwinąć ten temat.
Czy mozliwe jest nakladanie znaku wodnego przy odczycie pliku. Przy odczycie ale tylko wtedy gdy wczytywany jest na strone znajdujacym sie na innym serwerze? Np. mam zdjecie u siebie, ale jesli umiesci je na swojej stronie o adresie np. adres.pl to wtedy doda sie do zdjecia napis "Zdjecie z (adres mojej strony)?


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 09:00