问题描述
- 1.jpg = 14000x2800 像素
- 2.jpg = 2800x128 像素
我使用以下命令:
...\convert.exe -auto-orient -quality 100 -append "1.jpg" "2.jpg" "out.jpg"
目标是在垂直轴上将图像合并在一起,效果很好,但现在我需要在图像之间添加一条直线水平黑线(线的长度应该是最大文件的长度,意思是从左到右)而附加。
有没有办法在没有第二个命令的情况下做到这一点?
使用 MSPaint 技能更容易描述
解决方法
这是一种方法:
magick 1.jpg 2.jpg -size "%[fx:u.w>v.w?u.w:v.w]x10" xc:black -swap 2,1 -append result.png
也就是说……加载 1.jpg
和 2.jpg
。将我们接下来创建的画布的宽度定义为“1.jpg
(称为u
)和2.jpg
(称为v
)中较宽的那个”乘以 10像素高。创建一个大小的黑色画布。现在交换顺序,使我们刚刚创建的画布位于两个图像之间。附加所有 3 张图片并保存。
这会为您提供其中一个,具体取决于您首先加载哪一个:
如果您想要较窄图像旁边的未填充的白色背景区域,例如洋红色,请使用:
magick -background magenta 1.jpg 2.jpg -size "%[fx:u.w>v.w?u.w:v.w]x10" xc:black -swap 2,1 -append result.png
关键字:ImageMagick、图像处理、更宽、最宽、更高、最高、匹配现有图像宽度、匹配高度。