ImageMagick调整大小 - 设置横向和纵向图像的宽度
我试图将图像调整为给定宽度,高度按比例调整 - 无论图像是横向还是纵向。ImageMagick调整大小 - 设置横向和纵向图像的宽度
我有两个图像我测试用,从我看过的ImageMagick convert -resize
命令,我希望下面为任何类型的图像的工作:
convert source.jpg -resize 200 out.jpg
的问题是,它不“T。这里是我的结果:
- 源图像1:
landscape
,3264 × 2448
,调整大小以200 × 150
==>WORKS - 源图像2:
portrait
,3240 × 4320
,调整大小以150 × 200
==>FAIL
现在,我知道我可以通过预先读取源图像尺寸并对命令进行调整来解决此问题(例如,使用x200进行纵向设置似乎已设置宽度正确到200),但我不禁想到,必须有一种方法让ImageMagick处理这个问题。
我阅读了文档并用Google搜索了答案,但似乎无法解决这个问题。任何帮助是极大的赞赏。
编辑:
我曾尝试以下变化,但得到相同的结果不正确:
convert source.jpg -resize 200x out.jpg
FIX:
convert source.jpg -auto-orient -resize 200 out.jpg
正如JWK在答案的评论讨论:
的图像似乎是风景而不是肖像。某些显示图像的应用程序会从图像的exif配置文件中读取额外信息以确定方向。这造成了一些混淆,因为ImageMagick不会自动使用exif配置文件中的信息。这可以通过自动定位选项强制。该命令应改为此:
convert source.jpg -auto-orient -resize 200x out.jpg
的200X也可写为200,但使用200倍或X200显示更好,如果宽度或高度应被调整大小。
我这解决了。原来,我的肖像源文件的图像信息有点搞砸了。
我运行了identify portrait_source.jpg
命令,发现它的宽度和高度都是错误的(4320 x 3240
而不是3240 × 4320
)。所以基本上,ImageMagick认为它是在面向肖像的文件中查看横向文件。所有其他程序(OSX Finder,Preview)都以纵向显示图像。
只需在预览中打开图像并保存即可修复图像信息,然后调整大小按预期工作。
因此,如果遇到类似于我的问题,请务必检查源图像上的图像信息。我不知道为什么信息是错的。我用了数码相机拍摄的照片。
感谢您的“ - 自动定位”选项,它使我的一天! :) – Psddp 2016-02-26 17:12:57