У меня есть процесс, в котором я беру JPG и изменяю его размер.
Мое намерение состоит в том, чтобы не применять какое-либо дополнительное сжатие и просто изменять размеры, однако после запуска кода изображение становится меньшеКб, чем я ожидал (и худшего качества).
Мне интересно, если я что-то не так делаю (я новичок в GD / Imagemagick) и есть ли какой-то другой шаг, который мне нужениспользовать для сохранения качества.
Вот мой код:
$src = imagecreatefromjpeg($originalLocation);
$dst = imagecreatetruecolor($destinationWidth, $destinationHeight);
list($oWidth, $oHeight, $type, $attr) = getimagesize($originalLocation);
imagecopyresampled($dst, $src, 0, 0, 0, 0,$destinationWidth,$destinationHeight,$oWidth,$oHeight);
imagejpeg($dst, $destinationLocation, 100 );
Исходное изображение 1024x600 и ~ 450k. Результирующее изображение 640x375, но только ~ 30k
Единственное место в коде, где я, по-видимому, контролирую сжатие, - это вызов imagejpeg, где я передаю 100. Почему изображение, размер которого> 50%, сжимается до размера файла <% 10? </p>
[ПРАВИТЬ] добавлены файлы примеров:
TIA