Przez moje ręce przeszedł projekt w którym było potrzebne skalowanie obrazkow.
Do skalowania napisałem coś takiego
<?php function create_thumb_wfixed($file_name_src, $file_name_dest, $weight,$quality=100) { { if ($est_dest['extension'] == \"gif\" || $est_dest['extension'] == \"jpg\") { $dest = imagecreatetruecolor($w, $h); //imageantialias($dest, TRUE); } elseif ($est_dest['extension'] == \"png\") { $dest = imagecreatetruecolor($w, $h); //imageantialias($dest, TRUE); } else { return FALSE; } switch($size[2]) { case 1: //GIF $src = imagecreatefromgif($file_name_src); break; case 2: //JPEG $src = imagecreatefromjpeg($file_name_src); break; case 3: //PNG $src = imagecreatefrompng($file_name_src); break; default: return FALSE; break; } imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]); switch($size[2]) { case 1: case 2: imagejpeg($dest,$file_name_dest, $quality); break; case 3: imagepng($dest,$file_name_dest); } return TRUE; } return FALSE; } ?>
Ta funkcja jak łatwo się domyślic ta funkcja skaluje obrazki na zadana szerokość dopasowując wysokość obrazka. I działa niby ok - ale czemu plik o rozmiarach 500x375 ma rozmiar około 130 kB :?:
Czy GD jest aż tak ułomne czy to ja coś zrobiłem nie tak :?:
Myślę, że to może to drugie

