【问题标题】:How to resize image only if width exceeds with Graphics/Image Magick仅当宽度超过 Graphics/Image Magick 时如何调整图像大小
【发布时间】:2012-09-05 00:56:01
【问题描述】:

如此处所示:http://www.imagemagick.org/Usage/resize/#shrink 选项:

-resize 64x64>

仅当宽度和高度超过 64 像素时才调整大小。但是,如果可行,该怎么做:

-resize 64>x

-resize 64x'ignores'>

换句话说,如果只有宽度超过这个大小。 这可能吗?

【问题讨论】:

    标签: ruby image imagemagick graphicsmagick


    【解决方案1】:

    您可以通过使用“不太可能”的高度值轻松实现这一点:

    convert  orig.png  -resize '64x10000>'  scaled.png
    

    仅当原始 PNG 的宽度大于 64 像素大于 10 000 像素时才会调整其大小。但是该命令遇到高于 10,000 像素的输入的可能性非常低。所以它(几乎)只会遇到宽度值匹配的输入文件。

    宽度低于 64 像素的原始 PNG 将保持不变(除非它们的高度高于 10,000 像素...)。

    【讨论】:

    • 另一种可能的解决方案是使用 image[:width] 检查 mini_magick 库
    • @Luccas:您还可以使用identify -format %W orig.png 获取宽度(或使用-format %H 获取高度)并将其用于进一步计算。但这更复杂...... :-)
    • 我刚刚下载了 32000x41000 - 1.7Gb 的 tif 图像,由于该限制,无法将其裁剪为切片
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2017-04-27
    相关资源
    最近更新 更多