Я использую php Gmagick для изменения изображений. Следующий код работает, как и ожидалось, за исключением того, что изображения не являются прогрессивными. Почему? Согласно документам GraphicsMagick, так и должно быть. Для справки: исходное изображение имеет размер 666 x 1000.
$img = new Gmagick();
$img->setSize(900, 900)
->readImageBlob($image->getBytes())
->setImageInterlaceScheme(Gmagick::INTERLACE_PLANE)
->setImageResolution(96, 96)
->setImageFormat('jpeg')
->setCompressionQuality(70)
->resizeImage(900, 1351, Gmagick::FILTER_UNDEFINED, 1);
Обратите внимание, что
$img->getImageInterlaceScheme() === Gmagick::INTERLACE_PLANE
возвращает true после его установки.
Изменить
Я пробовал константы INTERLACE_LINE и INTERLACE_PLANE. Ни один из них, кажется, не влияет на вывод.