需要缩小图像并添加白色边框,但保留图像的纵横比。如何在 ImageMagick 中做到这一点?我尝试使用参数添加边框,-bordercolor White -border 100x100 image.jpg
但这会改变图像的纵横比(宽度 px / 高度 px 发生变化,但需要保留它)。
答案1
如果只想添加白色边框并保留纵横比,可以使用以下命令:
newsize=$(identify -format "%[fx:w+100]x%[fx:h+100]" rose:)
convert rose: \( -clone 0 -resize "$newsize" -fx "white" \) \
-reverse -gravity Center -composite newrose.png
该程序使用两幅图像作为列表或堆栈:
rose:
是第一张图片;
\( -clone 0 -resize "$newsize" -fx "white" \)
是第二张图片;
-clone 0
复制第一张图像;
-resize "$newsize"
调整至所需大小;
-fx "white"
用白色填充整个第二幅图像;
-reverse
交换图像;
-gravity Center
按中心对齐图像;
-composite
与图像重叠。
rose:
(70x46)
\( -clone 0 -resize "$newsize" -fx "white" \)
newrose.png
70 / 46 = 1.5217
170 / 112 = 1.5178