Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] W którym momencie nakładać znak wodny, żeby ponownie nie kompresować obrazka?
kukix
post 14.06.2012, 01:15:33
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Mam dwie funkcje.. jedna tworzy miniaturkę zdjęcia, druga nakłada znak wodny..



Czy jeżeli najpierw stworzę miniaturkę a później drugą osobną funkcją nałoże na niego znak wodnym, to czy nie jest tak, że dwukrotnie kompresuje obrazek jpg?


Funkcja, kórą tworzę znak wodny na obrazek:

  1. switch($znaczek_format) {// importujemy plik ze znakiem
  2. case 'gif':
  3. $image1 = imageCreateFromGif($znaczek);
  4. break;
  5.  
  6. case 'png':
  7. $image1 = imageCreateFromPng($znaczek);
  8. break;
  9. }
  10.  
  11. switch($zdjecie_format) {// otwieramy plik jpg, na którym ma być naklejony znaczek
  12. case 'jpg':
  13. $image2 = ImageCreateFromJpeg($zdjecie);
  14. break;
  15.  
  16. case 'gif':
  17. $image2 = ImageCreateFromGif($zdjecie);
  18. break;
  19.  
  20. case 'png':
  21. $image2 = ImageCreateFromPng($zdjecie);
  22. break;
  23. }
  24.  
  25. $zdjecie_w = imagesx( $image2 ); // szerokość pliku
  26. $zdjecie_h = imagesy( $image2 ); // wysokość pliku
  27. $znaczek_w = imagesx( $image1 ); // szerokość znaczka
  28. $znaczek_h = imagesy( $image1 ); // wysokość znaczka
  29.  
  30.  
  31.  
  32. switch($pozycja) {
  33. okreslam pozycje znaku wodnego
  34. }
  35.  
  36.  
  37. imagecopymerge( $image2, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h, $transparent );


Czy w ten sposób nie psuje jakości zdjęcia? Czy znak wodny lepiej nałożyć w trakcie tworzenia miniaturki, kiedy mam do niego uchwyt jeszcze przed kompresją..?
Go to the top of the page
+Quote Post
rzymek01
post 14.06.2012, 08:06:28
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


W przypadku gif i png nie tracisz na jakości, bo stosują kompresję bezstratną, lecz przy obróbce jpg jest możliwość utraty jakości, i imo w Twoim wypadku to występuję, bo dwa razy zapisujesz na dysk, a więc dwa razy kompresujesz (kompresja stratna).

Ponadto sam fakt dwukrotnego wczytywania obrazka jest wystarczający, żeby to zoptymalizować.


--------------------
:]
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: 31.07.2025 - 07:59