我想使用以下命令行扩展带有(例如)红色边框的图像:
convert input.png -gravity center -background red -extent 1000x1000 output.png
只要input.png不包含任何透明区域,此方法就起作用。
如果这样做,这些也将由背景色替换。我已经阅读了文档,这是预期的行为,解决方案是删除背景色(我不能像我想要的那样有彩色边框)或使用alpha合成器(我无法弄清楚)找出正确的)。
如何使用颜色扩展图像,但仅将颜色应用到扩展区域而不是原始图像本身?
编辑:根据对撰写参数的描述,我认为它应该与
-compose src-in
但事实并非如此。
我可以为您提供所需的东西,但是我怀疑该方法有点笨拙,因此我将继续思考并提醒我们的常驻专家@KurtPfeifle,他对ImageMagick都有所了解。
同时,我的想法是创建红色的扩展背景,在原始背景大小的透明孔上打一个孔,然后覆盖原始图像,如下所示:
convert -size 1000x1000 xc:red \
-size 800x800 xc:none -alpha set -gravity center -compose copy -composite \
image.png -composite result.png
第一行创建红色背景,第二行打一个透明孔,其大小与我的原始图像(800x800)大小相同,第三行将原始图像复制到该透明孔上。
如果使用bash
,则可以从原始图像中获取几何图形,如下所示:
#!/bin/bash
geom=$(convert image.png -format "%wx%h" info:)
convert -size 1000x1000 xc:red \
-size $geom xc:none -alpha set -gravity center -compose copy -composite \
image.png -composite result.png
所以,如果我从这个开始
我结束了
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句