Я использую PHP Imagick для управления изображениями.PHP Imagick: как изменить размер без увеличения?
У меня есть два варианта использования: «изменить размер» и «обрезать».
В случае «размера», если размеры оригинального изображения меньше заданной ширины и высоты, I не нужно Imagick, чтобы масштабировать его и вместо этого хотите просто вернуть исходный размер.
Однако, как говорит документация PHP, поведение Imagick было изменено с версии 3 (я использую версию 6+), что оно всегда увеличивало бы изображение.
Примечание: поведение параметра bestfit изменилось в Imagick 3.0.0. Перед этой версией данного размера 400x400 изображение размеров 200x150 останется нетронутым. В Imagick 3.0.0 и более поздних версиях изображение было бы масштабировано до размера 400x300, поскольку это «наилучшее соответствие» для данных размеров. Если используется параметр bestfit, должны быть указаны как ширина, так и высота .
Так, в моем случае для заданных размеров 400x400 изображение размеров 200x150 должно возвращать изображение размером 200x150, а не 400x300. Для заданных размеров 100x100 изображение размером 200x150 должно возвращать изображение 100x75 (то есть масштабирование должно происходить).
Я пробовал thumbnailImage(), resizeImage() и scaleImage() без везения. Если я устанавливаю bestfit в false, это делает обрезку, а это не то, что я хочу с изменением размера.
Есть ли способ сделать это с помощью Imagick?
* "версия 6 +" * не является полезным заявление, чтобы указать версию; * "версия 6.9.1-3 *" будет ... Так что, пожалуйста, дайте вывод 'convert -version'. –
Я просто хотел упомянуть, что моя версия больше 3.0, и меня поражает измененное поведение. Ниже приводится выход новообращенный -версия: Версия: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2012 ImageMagick студия ООО Особенности : OpenMP – NexWarner
почему бы не просто написать код, который делает именно то, что вы хотите с помощью http://php.net/manual/en/imagick.getimagewidth.php – Danack