【问题标题】:Apply watermark with text / image using GraphicsMagick使用 GraphicsMagick 使用文本/图像应用水印
【发布时间】:2014-01-26 16:11:23
【问题描述】:

我需要能够使用文本或其他图像在图像上应用水印。 使用以下命令使其与图像一起工作非常简单:

gm composite -dissolve 15 -tile logo.png image.jpg wmark_tiled.jpg

现在,我还希望能够使用文本进行水印(在其他情况下)。我发现靠近它的唯一东西是 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 

虽然它在 GM 中不起作用,但我宁愿避免使用管道,因为它会导致一些从 Java 管理它的麻烦。

我认为我可以做的是从给定的文本生成图像,然后将该图像用作我的第一个命令中使用的 logo.png。虽然我找不到如何从文本中生成图像,但我发现的只是将文本放在图像之上。

理想情况下,我将生成带有文本的透明图像,从我看到的修改字体/颜色等应该非常灵活。

欢迎任何有关如何实现此目标的建议或任何更好的解决方案。 (我添加了 imagemagick 标签,因为接口通常相同/相似)

【问题讨论】:

    标签: image-processing imagemagick graphicsmagick


    【解决方案1】:

    为了能够将水印文本放入同一张图片中,我必须使用 -annotate 参数。

    所以 Moogle's 代码 sn-p 在我的情况下看起来像这样:

    convert original_image.jpg -background transparent -fill grey -font Calibri -size 140x80 -pointsize 14 -gravity southeast -annotate +0+0 'copyright text' output.jpg
    

    【讨论】:

      【解决方案2】:

      我不确定我是否完全理解您的问题,如果我误解了,请道歉,但您是否要创建一个透明图像,角落里有一些文字?如果是这样,这行不通吗?

      convert -background transparent -fill grey -font Calibri -size 140x80 -pointsize 14 -gravity southeast label:'copyright text' output.png
      

      显然调整字体、点大小、输出图像名称等。这将创建以下内容:

      http://oi42.tinypic.com/14j1bvp.jpg

      P.S. 是为 ImageMagick 编写的。我不知道 GM 有何不同或它是否仍然有效。

      【讨论】:

      • 我只需要将文本放在透明图像的中间,然后将该图像平铺在另一个图像之上。您提供的命令适用于此,谢谢
      猜你喜欢
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      相关资源
      最近更新 更多