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]
$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]