17

当通过convert -rotate命令旋转图像时,图像尺寸会放大。有没有办法围绕中心旋转并保持图像大小,裁剪边缘?

4

4 回答 4

25
convert image.jpg -distort SRT -45 rotate_cropped_image.png

http://www.imagemagick.org/Usage/warping/#animations

例子:动画 GIF

另请参阅有关 -distort 的帮助:http ://www.imagemagick.org/script/command-line-options.php?#distort

于 2013-08-16T19:58:28.320 回答
2

如果您知道图像的大小,则以下工作:

convert -rotate 45 -gravity center -crop NxN input output

用方形图像测试。可能有一种方法可以指定 NxN 是输入图像的大小。

于 2018-08-13T02:08:02.590 回答
2

现在这似乎只是“正常工作”——逆时针 90 度:

$ convert image.jpg -rotate -90 rotated_ccw.jpg
于 2017-01-15T01:15:00.723 回答
0

我在 Imagemagick 论坛上找到了这个答案:

在不知道图像原始大小的情况下,一个简单的解决方案是使用 Alpha 合成运算符“Src”作为“裁剪到此图像大小”类型的操作。看:

http://www.cit.gu.edu.au/~anthony/graphics/imagick6/compose/#src

例如(仅限 ImageMagick 版本 6):

convert image.jpg \( +clone -background black -rotate -45 \) \
    -gravity center -compose Src -composite rotate_cropped_image.png
于 2013-02-07T12:22:53.027 回答