>Суть проблемы в следующем, есть задача делать миниатюры(превьюшки картинок) средствами PHP, вообщем-то
>задача была мной успешно решена, была написана некая универсальная функция которая
>берёт на входе любойе файло типа(gif,jpg,png) и плющит его пропорционально до
>заданного размера.
>
>Но вот беда, качество ужасающее получаецца, картинки бледнеют, лиц не видно итд.
>итп. Вычитал на пхп.нет что проблема решается переписыванием кода пхп, но
>кто ж его даст переписать-то, когда хостишься очень далеко с
>очень неприветливым суппортом?
>
>Может есть у кого решение,а?
ImageTrueColor решает только проблему с выбором неправильной палитры -- исчезает бледность, непонятные цвета, проч, но остается проблема с качеством -- на фотографии, например, при большом сжатии запросто могут пропасть глаза ;) -- забавные шаржи получаются :D
Решить это можно, используя утилиту convert, которая прилагается к ImageMagic. Стоит практически у всех хостеров под *nix'ами
Использовать можно примерно так
header("Content-type: ".$mime_type);
$command = 'convert -crop '.$immWidth.'x'.$immHeight.'+'.$xdist.'+'.$ydist.' '.$filename.' -|convert -geometry '.$intNeedWidth.'x'.$intNeedHeight.' - -';
PassThru($command, $retval);
где
$mime_type - MIME - тип исходного изображения
$immWidth, $immHeight - размеры исходного изображения с коррекцией на соответствие пропорциям желаемого preview
$xdist, $ydist - смещение изображения с приведенными пропорциями относительно исходного изображения
$filenam - имя файла с исходным изображением
$intNeedWidth, $intNeedHeight - размеры превьюшки
Вообще там куча параметров.... Кроме того, работает с большим числом графических форматов.
Минус -- грузит сервер, поэтому лучше предусмотреть кэширование