Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kiepska jakość miniatur tworzonych przez php
Arek00
post
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


tworzę sobie miniatury zdjęć w ten sposób:
  1. <?php
  2.                    $newx = 100;
  3.                    $newy = 100;
  4.  
  5.                    $x = imagesx($nowy5);
  6.                    $y = imagesy($nowy5);
  7.  
  8.                    $zdjecie_image = imagecreatetruecolor($newx,$newy);
  9.                    $bialy = imagecolorallocate($zdjecie_image, 255, 255, 255);
  10.                    imagefill($zdjecie_image, 0, 0, $bialy);
  11.  
  12.                    if ($x>$newx || $y>$newy) {
  13.                         if ($x/$y > $newx/$newy) {
  14.                              imagecopyresized($zdjecie_image, $nowy5, 0, (($newy-($newx/$x*$y))/2), 0, 0, $newx, ($newx/$x*$y), $x, $y);
  15.                         } else {
  16.                              imagecopyresized($zdjecie_image, $nowy5, (($newx-($newy/$y*$x))/2), 0, 0, 0, ($newy/$y*$x), $newy, $x, $y);
  17.                         }
  18.                         imagejpeg($zdjecie_image, $zdjecie, 85);
  19.                    } else {
  20.                         imagecopyresized($zdjecie_image, $nowy5, (($newx-$x)/2), (($newy-$y)/2), 0, 0, $x, $y, $x, $y);
  21.                         imagejpeg($zdjecie_image, $zdjecie, 85);
  22.                    }
  23. ?>


zdjęcie do pomniejszenia ma wymiary ok 800x600
poniżej zamieszczam miniaturę utworzoną tym kodem (po lewo) i programem graficznym (po prawo)
(IMG:http://img517.imageshack.us/img517/5485/monitord.jpg) (IMG:http://img518.imageshack.us/img518/1742/monitor2.jpg)

co zrobić żeby miniatura tworzona kodem była lepszej jakości?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
elektrrrus
post
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 18
Dołączył: 11.06.2007
Skąd: Koszalin/Poznań

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


Zamiast imagecopyresized użyj imagecopyresampled, do tego jeszcze w imagejpeg($zdjecie_image, $zdjecie, 85) trzeci parametr zmień na większy.
Aha, i
  1. <?php
  2. $bialy = imagecolorallocate($zdjecie_image, 255, 255, 255);
  3.                   imagefill($zdjecie_image, 0, 0, $bialy);
  4. ?>
jest niepotrzebne.

Ten post edytował elektrrrus 26.03.2009, 20:20:40
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Identyczny problem pojawił się na forum całkiem niedawno. Wystarczy poszukać (mała podpowiedź - jakość miniatur).
Zamykam.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 17:12