很简单,我有一个脚本在我的照片上调用imagemagick。
原始图片是320 x 444,我想创建几个缩小版本,但保持相同的宽高比
我使用
调用imagemagickconvert oldfile.png -resize 290x newfile.png
我想将其缩放到我的设定宽度,但高度相应地缩放。
我在3个单独的命令中执行80x,160x和290x。
最小的2个产生具有相同原始宽高比的图像,而290x则没有。
它产生的图像大小为290 x 402
我不知道为什么那个不能保持纵横比,而另外2个尺寸维持它。
有什么想法吗?
答案 0 :(得分:1)
我认为第三个命令中的问题是请求的大小本身:
320/4=80
和444/4=111
320/2=160
和444/2=222
444和320只有两个公约数:2和4.你已经在前两个命令中使用了这些除数,所以任何其他(宽度,高度)对都会给你一个略微不同的宽高比:它是不可能获得的相同的确切长宽比固定290。
事实上,当您的原始图片的宽高比为1.3875
时,使用290x403的图片,您将获得1,389655172
的宽高比,并使用290x402的图片获得1,386206897
比率:固定290没有其他维度的值可以为您提供所需的宽高比。
一般情况下,Imagemagick总是尝试保留图像的宽高比,您可以在Imagemagick文档中阅读:
调整大小运算符的参数是图像所在的区域 应该适合。这个区域不是图像的最终尺寸而是 图像的最大尺寸。 那是因为IM试图保留 图像的宽高比比最终的宽高比(除非'!'标志是 给定),但最终尺寸中至少应有一个(如果不是两个) 匹配给定图像的参数。所以让我说清楚......调整大小是合适的 将图像转换为请求的大小。它没有填写,请求的框 大小
有关详细信息,请参阅here