#php #gd
#php #gd
Вопрос:
Я пытаюсь изменить размер изображения с помощью GD и вижу потерю цвета на измененном изображении. Вот мой код:
$src = imagecreatefromstring(file_get_contents($source));
ImageCopyResized($dst, $src, 0, 0, 0, 0, $t_width, $t_height, ImageSX($src), ImageSY($src));
Imagejpeg($dst, $dest, 90);
Комментарии:
1. Возможно, потому, что вы выводите JPEG с качеством 90%? он же повторное сжатие
2. @simshaun Нет, если я установлю 100% качество, цвета будут одинаковыми
3. Пожалуйста, определите «потерю цвета» или предоставьте параллельное сравнение двух изображений.
Ответ №1:
Используете ли вы imagecreatetruecolor при объявлении $dst
?
Ответ №2:
Правильный способ сделать это:
$dst = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($dst, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);