Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Galeria zdjęć - miniatury, GD
Seraph
post 26.09.2006, 01:25:13
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.08.2006
Skąd: Bochnia

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


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?


--------------------
Go to the top of the page
+Quote Post
Jojo
post 26.09.2006, 08:10:46
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


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]


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
Seraph
post 26.09.2006, 08:45:09
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.08.2006
Skąd: Bochnia

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


  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.


--------------------
Go to the top of the page
+Quote Post
Jojo
post 26.09.2006, 08:49:11
Post #4





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


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.


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
Seraph
post 27.09.2006, 08:58:28
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.08.2006
Skąd: Bochnia

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


Dzieki za pomoc


--------------------
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: 29.06.2025 - 00:30