旋转和裁剪图像,同时保持其原始大小
Posted
技术标签:
【中文标题】旋转和裁剪图像,同时保持其原始大小【英文标题】:Rotate and crop an image, while keeping its original size 【发布时间】:2021-02-04 15:44:42 【问题描述】:我有一张已知大小为 3072x2048 的 JPG 图片。现在我想将该图像旋转任意角度(例如 45),同时保持其原始大小。因此 - 在命令行上使用 ImageMagick - 我首先要旋转,然后裁剪图像,如下所示:
convert -rotate 45 -gravity center -crop 3072x2048 +repage original.jpg rotated-45.jpg
通过使用-gravity center
,我指定裁剪图像的中心部分,这正是我想要的。此操作产生四个输出图像:
第一张图片rotated-45-0.jpg
正是我想要得到的最终图片。其他三个我不需要。我可以删除它们,但我认为首先不生成这些“额外”图像会更好。所以我想我可以用这个命令来代替:
convert -rotate 45 -gravity center -crop 3072x2048+0+0 +repage original.jpg rotated-45.jpg
这只会产生一张输出图像,但是现在图像的左上角正在被裁剪。所以显然-gravity center
不再使用了。
任何想法我在这里缺少什么?
【问题讨论】:
【参考方案1】:使用 ImageMagick,您可以将图像旋转任意度数,同时使用“-distort SRT”保持原始画布尺寸...
convert original.jpg -virtual-pixel black -distort SRT 45 rotated-45.jpg
使用“-virtual-pixel”指定您希望如何处理旋转前画布之外的部分。在这个例子中,我使用了“黑色”。您可以使用黑色、白色、背景、平铺、镜子或无。
【讨论】:
太好了,正是我想要的,谢谢。以上是关于旋转和裁剪图像,同时保持其原始大小的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 VBA 在 Word 中将多个图像裁剪为相同大小,同时使其适合其容器形状
如何在保持图像纵横比的同时调整 UIButton 中的图像大小?