【问题标题】:ImageMagick convert rotate cropImageMagick 转换旋转裁剪
【发布时间】:2015-05-28 10:27:44
【问题描述】:

ImageMagick 的 convert 工具中的旋转选项会旋转图像,但会添加背景颜色以填补空白。

我正在寻找一种方法来旋转然后裁剪包含图像内容的最大矩形。 convert 可以吗?

由 Mark Setchell 编辑...

所以,如果您的原始矩形是这样创建的棋盘格:

convert -size 512x512 pattern:checkerboard a.png

然后像这样将它旋转 20 度

convert -background fuchsia -rotate 20 a.png b.png

您想要适​​合棋盘且不包含粉红色的最大矩形吗?

【问题讨论】:

标签: imagemagick imagemagick-convert


【解决方案1】:

您可以通过使用+repage 并将-rotate 替换为-distort ScaleRotateTranslate 来获得预期结果的近似值:

convert -background fuchsia -distort ScaleRotateTranslate 20 +repage a.png b.png

【讨论】:

    【解决方案2】:

    按照指示创建图像后:

    convert -size 512x512 pattern:checkerboard a.png
    

    这似乎起作用了:

    angle=20
    ratio=`convert a.png -format \
         "%[fx:aa=$angle*pi/180; min(w,h)/(w*abs(cos(aa))+h*abs(sin(aa)))]" \
         info:`
    crop="%[fx:floor(w*$ratio)]x%[fx:floor(h*$ratio)]"
    crop="$crop+%[fx:ceil((w-w*$ratio)/2)]+%[fx:ceil((h-h*$ratio)/2)]"
    convert a.png -set option:distort:viewport "$crop" \
              +distort SRT $angle +repage   rotate_internal.png
    

    来自here

    【讨论】:

      猜你喜欢
      • 2020-02-01
      • 2016-11-22
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      相关资源
      最近更新 更多