Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: czemu utrata jakosci?
Forum PHP.pl > Forum > Gotowe rozwiązania
ukasz83
  1. <?php
  2.  
  3. $obrazek = $_REQUEST['obrazek'];
  4. $max_szerokosc = $_REQUEST['max_szerokosc'];
  5. $max_wysokosc = $_REQUEST['max_wysokosc'];
  6.  
  7. if (!$max_szerokosc)
  8. $max_szerokosc = 80;
  9. if (!$max_wysokosc)
  10. $max_wysokosc = 60;
  11.  
  12. $rozmiar = GetImageSize($obrazek);
  13. $szerokosc = $rozmiar[0];
  14. $wysokosc = $rozmiar[1];
  15.  
  16. $wspolczynnik_x = $max_szerokosc / $szerokosc;
  17. $wspolczynnik_y = $max_wysokosc / $wysokosc;
  18.  
  19. if ( ($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc) ) {
  20. $nowa_szerokosc = $szerokosc;
  21. $nowa_wysokosc = $wysokosc;
  22. }
  23. else if (($wspolczynnik_x * $wysokosc) < $max_wysokosc) {
  24. $nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc);
  25. $nowa_szerokosc = $max_szerokosc;
  26. }
  27. else {
  28. $nowa_szerokosc = ceil($wspolczynnik_y * $szerokosc);
  29. $nowa_wysokosc = $max_wysokosc;
  30. }
  31.  
  32. $zrd = ImageCreateFromJpeg($obrazek);
  33. $prz = ImageCreate($nowa_szerokosc,$nowa_wysokosc);
  34. ImageCopyResized($prz, $zrd, 0, 0, 0, 0,
  35. $nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc);
  36. header('Content-type: Image/jpeg');
  37. ImageJpeg($prz, null, -1);
  38. ImageDestroy($zrd);
  39. ImageDestroy($prz);
  40.  
  41. ?>

spoko zmniejsza ale.... utrata jakosci .... zreszta spójrzcie na zrzuty ekranu:
orginal
pomniejszone
czy da sie cos zmienic w tym skrypcie by nie bylo utraty jakosci..?
zmienilem w ImageJpeg z -1 na 100 i nic nie zmiilo.. sprawdzlaem bawiac sie zmieniajsc np na 5 to pixeloza wiec trzecia zmienna dziala ale kolory sa tragiczne??
ebe
użyj funkcji imgecopyresampled" title="Zobacz w manualu php" target="_manual tak samo ja *resized, efekt gwarantowany winksmiley.jpg
ukasz83
zmieniłem ale nic nie dało sadsmiley02.gif
moze trzeba cos zamieszac w konfiguracji serwa..?



Udalo sie..
zmienilem na
  1. <?php
  2. imagecreatetruecolor
  3. ?>
pisze jak by ktos mial podobny problem
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.