Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Galeria zdjęć - miniatury
Forum PHP.pl > Forum > PHP
Seraph
Mam problem z miniaturami w galerii zdjęć. Wszystko ładnie się tworzy, tylko, że na tych pomniejszonych zdjęciach wszystko jest zamazane i wygląda tak jak w niskiej rozdzielczości filmikach przy powiększeniu - piksele... mam nadzieję, że dobrze zobrazowałem.
Da się to w jakiś sposób poprawić, żeby miniaturka była takiej samej jakości co zdjęcie?
Jojo
A jakiś kawałek kodu?

[wróżenie_z_fusów]

Na mój gust używasz funkcji imagecopyresized" title="Zobacz w manualu php" target="_manual zamiast imagecopyresampled" title="Zobacz w manualu php" target="_manual.

[/wróżenie_z_fusów]
Seraph
  1. <?php
  2.  
  3.  if(strpos($_GET['nazwa'], '.jpg') !== FALSE){
  4. $img = imagecreatefromjpeg('./img/big/'.$_GET['nazwa']);
  5. $format = 0;  
  6.  }elseif(strpos($_GET['nazwa'],'.png') !== FALSE){
  7. $img = imagecreatefrompng('./img/big/'.$_GET['nazwa']);
  8. $format = 1;
  9.  }else{
  10. die('Format nieobsługiwany');
  11.  }
  12. // Wymiarowanie rysunku
  13.  $x = imagesx($img);
  14.  $y = imagesy($img);
  15.  
  16.  if($x > $y){
  17. $nx = 200;
  18. $ny = 200 * ($y / $x);
  19.  }elseif($x < $y){
  20. $nx = 200 * ($x / $y);
  21. $ny = 200;
  22.  }else{
  23. $nx = 200;
  24. $ny = 200;
  25.  }
  26.  $new_img = imagecreatetruecolor($nx, $ny);
  27.  imagecopyresampled($new_img, $img, 0, 0, 0, 0, $nx, $ny, $x, $y);
  28. if($format == 0){
  29. imagejpeg($new_img, './img/small/'.$_GET['nazwa'], 9);
  30.  }else{
  31. imagepng($new_img, './img/small/'.$_GET['nazwa']);
  32.  }
  33.  
  34. ?>


To jest kod odpowiedzialny za tworzenie miniatury... jak widać jest resampled,więc to nie to.
Jojo
A dlaczego podajesz taką niską jakość jpg'a? Zakres trzeciego parametru imagejpeg" title="Zobacz w manualu php" target="_manual jest od 0 do 100. Nie dziwię się, że Ci wyskakuje pikselaza z pikselozą tongue.gif Ustaw koło 70-80 i będzie dobrze.
Seraph
Dzieki za pomoc
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.