在搜索谷歌时,我们看到许多带有文字叠加效果的图片声称这些图片来自shutterstock.com。
此文本效果类似于以下内容:
我想知道如何使用ImageMagick cli做类似的事情?
非常感谢您的帮助。
答案 0 :(得分:2)
理想情况下,您可以使用文本效果创建水印蒙版,并在源图像上进行合成。
第1步:创建文字效果以便重复使用
convert -pointsize 64 -font GeorgiaB \
-fill black -stroke white -strokewidth 2 \
-background transparent -channel A -evaluate subtract 75% \
caption:"Hello World" mask.png
第2步:对其他图片进行复合文字效果
convert -size 500x400 plasma: mask.png \
-gravity center -compose ATop -composite output.png
还有更多的文字处理示例和效果,以及@ Anthony's Usage documentation上的复合技术。
答案 1 :(得分:2)
有很多方法可以在底部添加带有文字的白色区域。这是一。如果那不是你想要的,那么请进一步解释。
infile="tile_aqua_500.jpg"
ww=$(convert -ping "$infile" -format "%[fx:w-1]" info:)
hh=$(convert -ping "$infile" -format "%[fx:h-1]" info:)
convert "$infile" \
-fill "graya(100%,0.75)" \
-draw "line 0,0 $ww,$hh line $ww,0 0,$hh" -alpha off \
-fill "graya(50%,0.25)" \
-strokewidth 1 -stroke "graya(100%,0.25)" \
-gravity center -font arial -pointsize 48 \
-annotate +0+0 "Hello World" \
-undercolor white -gravity southeast -pointsize 24 \
-fill black -annotate +10+10 "yourdomain.com" \
tile_aqua_500_text_x_text.jpg
答案 2 :(得分:1)
这是使用Imagemagick -annotate直接在图像上绘制文本的emcconville
中的优秀方法。我从一个小的可填充图像开始,我将其放大到500x500大小,然后在中灰色和50%透明白色轮廓上绘制50%透明度的文本。您可以根据需要更改灰色和透明度的阴影以及字体和品脱大小。更改+ 0 + 0以相对于重心移动文本的位置。更改 - 重力到其他指南针位置以相对于这些位置绘制文本。
convert -size 500x500 tile:tile_aqua.jpg \
-fill "graya(50%,0.5)" -strokewidth 1 -stroke "graya(100%,0.5)" \
-gravity center -font arial -pointsize 64 \
-annotate +0+0 "Hello World" result.jpg
convert -size 500x500 tile:tile_aqua.jpg \
-fill "graya(50%,0.25)" -strokewidth 1 -stroke "graya(100%,0.25)" \
-gravity southeast -font arial -pointsize 48 \
-annotate +50+50 "Hello World" result1.jpg
答案 3 :(得分:1)
嗨fmw42,谢谢:)我怎样才能添加像Shutterstock.com这样的大X?
在角落之间画出两条对角线。
输入(tile_aqua_500.jpg):
在Imagemagick 6 Unix系统中:
infile="tile_aqua_500.jpg"
ww=$(convert -ping "$infile" -format "%[fx:w-1]" info:)
hh=$(convert -ping "$infile" -format "%[fx:h-1]" info:)
convert "$infile" \
-fill "graya(100%,0.75)" \
-draw "line 0,0 $ww,$hh line $ww,0 0,$hh" -alpha off \
-fill "graya(50%,0.25)" \
-strokewidth 1 -stroke "graya(100%,0.25)" \
-gravity center -font arial -pointsize 48 \
-annotate +0+0 "Hello World" tile_aqua_500_text_x.jpg
在Imagemagick 7 Unix系统中:
infile="tile_aqua_500.jpg"
magick "$infile" \
-fill "graya(100%,0.75)" \
-draw "line 0,0 %[fx:w-1],%[fx:h-1] line %[fx:w-1],0 0,%[fx:h-1]" -alpha off \
-fill "graya(50%,0.25)" \
-strokewidth 1 -stroke "graya(100%,0.25)" \
-gravity center -font arial -pointsize 48 \
-annotate +0+0 "Hello World" tile_aqua_500_text_x.jpg
任一命令的结果: