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

Cyr*_* N. 19 resize imagemagick

使用ImageMagick,我可以很容易地截取我想要的截图,但我想调整它以减少空间占用.我找到了这个 :

convert screen.jpg    -resize 1280x1024\!  screen.jpg
Run Code Online (Sandbox Code Playgroud)

但是我想基于最大尺寸(宽度或高度)来调整它的大小,而另一个(高度或宽度)也将按比例调整大小.

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

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

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

谢谢你的帮助!

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

And*_*eyP 45

保持纵横比:

convert -resize 600x600 screen.jpg:

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

convert -resize 600x600\> screen.jpg:

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

  • 在Windows上使用^来逃避它,所以-resize 600x600 ^> (9认同)
  • 对我来说,它缺少输出文件名 (2认同)
  • 将 `convert` 替换为 `mogrify` 以覆盖输入文件。 (2认同)
  • 或者 -resize "1150x1150>" (2认同)

EPS*_*468 21

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

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

  • 对。我在上面的答案中包含了这一方面。 (2认同)