Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Gd I Jakość Generowanej Grafiki
Forum PHP.pl > Forum > PHP
mjs27
Witam !

Zrobiłem sobie prosty skrypt do generowania miniaturek w galerii przy użyciu php i bliblioteki GD. Miniaturki są zapisywane za pomocą funkcji ImageJPEG jednak ich jakoś jest strasznie ZŁA, wyglądają jakby miały jedynie paletę 16 kolorów !! Czy ktoś mógłby mi coś poradzić, jak uzyskać lepszą jakość ? Dołączam napisaną przeze mnie funkcję, może komuś też się przyda:

Kod
[php]function create_thumb($file, $h, $w) {
$img = ImageCreateFromJPEG($file);

$hs = imagesy($img) / (imagesy($img) / $h); // Wysokość
$ws = imagesx($img) / (imagesy($img) / $h); // Szerokość

if($hs > $h) {
$r = $hs / $h;
$hs = $h;
$ws = $ws / $r;
}

if($ws > $w) {
$r = $ws / $w;
$ws = $w;
$hs = $hs / $r;
}

$thumb_img = imagecreate($ws, $hs);

imagecopyresized($thumb_img, $img, 0, 0, 0, 0, $ws, $hs, imagesx($img), imagesy($img));

imageJPEG($thumb_img, 'th_'.$file);
}[/php]
matid
Spróbuj zamiast funkcji imagecopyresized" title="Zobacz w manualu PHP" target="_manual użyć imagecopyresampled" title="Zobacz w manualu PHP" target="_manual, a zamiast imagecreate" title="Zobacz w manualu PHP" target="_manual - imagecreatetruecolor" title="Zobacz w manualu PHP" target="_manual.
Jestem już zbyt zmęczony żeby sypać gotowym kodem, ale te linki do manuala powinny pomóc.
mjs27
Wielkie dzięki exclamation.gif teraz działa jak nalezy smile.gif
akubiczek
Trochę offtopicowo dodam, że możesz także zainteresować się pakietem imagemagick, który posiada naprawdę spore możliwości jeżeli chodzi o obróbkę grafiki. Koniec reklamy smile.gif
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.