Как убрать искажение цветов при использовании «ImageCopyResized()»?

evgkuz

Новичок
Как убрать искажение цветов при использовании «ImageCopyResized()»?

Как убрать искажение цветов при использовании «ImageCopyResized()»?


Последовательность действий
Getimagesize(); // определяем размер текущей картинки
ImageCreateFromJPEG(); // получаем идентификатор текущей картинки
ImageCreate(); // создаём новую картинку
ImageColorAllocate(); // фон
ImageCopyResized(); // пропорционально изменяем размер
ImageJPEG(); // сохраняем результат

Картинка получается по размеру и содержанию – нормальной. Но вот цветовая гамма искажается, иногда довольно сильно. Причём при таких же действиях с GIF-файлами искажений цвета – нет.

Складывается такое впечатление, что ”GD” не справляется с JPEG-файлами из-за большего количества цветов в них.

Так это или нет?

Может, для сохранения цветовой гаммы, нужно использовать какую-то дополнительную команду?

Конфигурация:
PHP Version 4.3.4
GD bundled (2.0.15 compatible)
 

tony2001

TeaM PHPClub
imagecreate() -> [m]imagecreatetruecolor[/m]()
imagecopyresized() -> [m]imagecopyresampled[/m]()
всё это находится в поиске и не один раз.
 

virakochi

Устал
Я эту проблему решал создавая нновую картинку функцией ImageCreateTrueColor()

И по-моему копировать во втором ГД лучше используя ImageCopyResampled()
 
Сверху