仅使用ImageMagick缩小较大的图像比例

时间:2011-06-17 10:56:09

标签: resize imagemagick

使用ImageMagick,我可以很容易地截取我想要的内容,但我想调整它的大小以减少占用空间。我发现了这个:

convert screen.jpg    -resize 1280x1024\!  screen.jpg

但我想基于最大尺寸(宽度或高度)调整尺寸,另一个(高度或宽度)也将按比例调整大小。

例如,假设我希望我的所有图像都以最大宽度/高度尺寸调整为600px:

  • 1920x1200 =>宽度最大:600x375
  • 600x1200 =>身高是最大的:300x600

我怎么能用ImageMagick做到这一点? (或者至少定义一个最大尺寸(例如仅宽度))。

感谢您的帮助!

注意:是否可以使用import命令自动实现它?

2 个答案:

答案 0 :(得分:40)

保留宽高比:

convert -resize 600x600 screen.jpg:

  • 1920x1200 => 600x375
  • 600x1200 => 300x600的
  • 150x300 => 300x600的
  • 300x150 => 600×300

convert -resize 600x600\> screen.jpg:

  • 1920x1200 => 600x375
  • 600x1200 => 300x600的
  • 150x300 => 150x300(未调整为更大尺寸)
  • 300x150 => 300x150(未调整为更大尺寸)

答案 1 :(得分:20)

要保留纵横比,您可以按一定比例缩小图像:

  

convert -resize 50%screen.jpg

或使用像素区域:

  

convert -resize 180000 @ screen.jpg

这也会将小图像炸成指定区域。如果您希望ImageMagick缩小大图像但保持小图像不变,请使用“>”操作者:

  

convert -resize'180000 @>' screen.jpg

请注意,然后您需要引用geometry参数以防止shell解释“>”签名作为文件重定向器。

有关这些选项和其他选项,请参阅ImageMagick文档:http://www.imagemagick.org/script/command-line-processing.php#geometry