我想使用Imagemagick的“转换”(或其他)来组合两个不同大小的图像。我希望它们在左下角对齐。例如,我有两张图片:
trans_alpha.png(透明的42x37空白图片) and shadow.png(68x23图像,我想覆盖在左下方对齐的trans_alpha.png上)
我想要的结果是68x37图像,注意这些尺寸仅仅是示例,我不想将尺寸放入命令行,我只想使用尺寸来自输入图像。
我尝试了很多组合而没有成功:
尝试没有。 776(关闭,但对齐到左上角,而不是左下角)..:
convert trans_alpha.png -background none shadow.png -gravity SouthWest -layers merge +repage result.png
尝试没有。 841(正确对齐,但结果图像不够宽)...
convert trans_alpha.png shadow.png -gravity SouthWest -composite result.png
希望这是有道理的。 谢谢,
保
答案 0 :(得分:2)
回答我自己的问题(由www.imagemagick.org上的聪明人提供)
convert \
trans_alpha.png shadow.png \
-flip \
-background none \
-mosaic \
-flip \
result.png
答案 1 :(得分:1)
Imagemagick包含许多有用的转换,但偶尔仍然缺少您需要的转换。由于您的原始图像是PNG无损位图,因此您可以将它们转换为长格式PBM或相关格式,如长格式PPM。这些形式的优点在于它们以纯文本的形式逐个像素地表示整个图像,可以编写程序 - 通常是相当短的程序 - 以任何方式处理。作为存储格式,PBM和PPM效率极低,但同样也非常容易操作,这就是你想要的。
pbm(5)联机帮助页(可在netpbm
程序包中的Debian / Ubuntu系统上找到)编写得很好,并清楚地解释了该过程。
答案 2 :(得分:0)
我目前无法测试,但您可以对图层使用-page
,这样可能会有效,但您可能需要计算Y偏移量:
convert \
trans_alpha.png \
-background none \
shadow.png \
-page +0+10 \
-layers merge \
+repage \
result.png
您可能不需要-background none