Gia*_*nis 6 imagemagick image-processing graphicsmagick
我需要能够使用文本或其他图像在图像上应用水印.使用以下命令,使用图像非常简单:
gm composite -dissolve 15 -tile logo.png image.jpg wmark_tiled.jpg
Run Code Online (Sandbox Code Playgroud)
现在,我还希望能够使用文本进行水印(在其他情况下).我发现它唯一接近它的是来自ImageMagick教程的命令,该命令如下:
convert -size 140x80 xc:none -fill grey -gravity NorthWest -draw "text 10,10 'copyrigh text'" -gravity SouthEast -draw "text 5,15 'copyright text'" miff:- | gm composite -tile - image.jpg copyrightImage.jpg
Run Code Online (Sandbox Code Playgroud)
虽然它不适用于GM,但我宁愿避免使用管道,因为它会引起一些令人头痛的问题,从Java管理它.
我认为我能做的是从给定文本生成图像,然后使用该图像作为logo.png用于我的第一个命令.虽然我找不到如何用文本生成图像,但我发现只是将文本放在图像上.
理想情况下,我将生成带有文本的透明图像,从我看到的修改字体/颜色等应该是非常灵活的.
有关如何实现这一点或任何更好的解决方案的任何建议都是受欢 (我添加了imagemagick标签,因为接口通常相同/相似)
我不确定我是否完全理解你的查询,如果我误解了,那么道歉,但是你是否想要创建一个透明的图像,角落里有一些文字?如果是这样,这不起作用吗?
convert -background transparent -fill grey -font Calibri -size 140x80 -pointsize 14 -gravity southeast label:'copyright text' output.png
Run Code Online (Sandbox Code Playgroud)
显然调整字体,点数,输出图像名称等.这将创建以下内容:
http://oi42.tinypic.com/14j1bvp.jpg
为ImageMagick编写的 PS.我不知道通用汽车有何不同或是否仍然有效.
为了能够将水印文本放入同一图像中,我必须使用-annotate参数。
因此,在我的例子中,Moogle 的代码片段如下所示:
convert original_image.jpg -background transparent -fill grey -font Calibri -size 140x80 -pointsize 14 -gravity southeast -annotate +0+0 'copyright text' output.jpg
Run Code Online (Sandbox Code Playgroud)