如何在图片上叠加带有背景的透明文字?

How to overlay transparent text with background on picture?

我有一张背景图片。现在我想画一个圆角矩形,上面有一个文字形状的孔。必须先画口罩吗?


更新:我希望通过文字显示图片,而不是圆角矩形。我的转换命令版本是 6.9.7,在 Linux.

抱歉,我仍然不确定我是否理解您想要的圆角矩形。但这里有一种方法可以计算出一个白色的圆角矩形,将透明文本放入其中,然后将其覆盖在 lena 背景图像上。

convert \( -size 150x150 xc:white \) \
\( +clone  -alpha extract \
-draw 'fill black polygon 0,0 0,15 15,0 fill white circle 15,15 15,0' \
\( +clone -flip \) -compose Multiply -composite \
\( +clone -flop \) -compose Multiply -composite \
\) -alpha off -compose CopyOpacity -composite \
\( -size 100x100 -background none -fill white -gravity center \
-pointsize 36 -font arial label:"TEST"  \) \
-gravity center -compose dstout -composite -alpha on \
lena.png +swap -compose over -composite tmp.png