V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
makeitall
V2EX  ›  程序员

imagemagick 水印 gif 时候遇到的问题(内详有图)

  •  
  •   makeitall · 2017-01-18 09:31:48 +08:00 · 3323 次点击
    这是一个创建于 2853 天前的主题,其中的信息可能已经有所发展或是发生改变。


    如图

    命令是:
    convert -coalesce name.gif -gravity SouthEast -draw "Image Over 0,0 0,0 watermark.png" output.gif

    测试源文件:



    求解决办法,谢谢
    11 条回复    2017-01-19 15:08:47 +08:00
    imn1
        1
    imn1  
       2017-01-18 09:50:39 +08:00
    效果很好,看这猫被水印吓的翻了个身
    wxg4net
        2
    wxg4net  
       2017-01-18 10:07:32 +08:00   ❤️ 2
    convert -coalesce name.gif -gravity SouthEast -geometry +0+0 null: watermark.png -layers composite -layers optimize output.gif
    makeitall
        3
    makeitall  
    OP
       2017-01-18 12:09:03 +08:00
    @imn1 哈哈哈,有趣
    @wxg4net 大神好厉害。。。话说这个是什么原理?
    banxi1988
        4
    banxi1988  
       2017-01-18 13:42:47 +08:00
    @makeitall 应该是 Gif 是由多个图层组成.加水印的也要加在各个图层上.
    如果在 Mac 上使用 预览应用打开 Gif 图的话,它会在左右列出组成的各个图层.
    makeitall
        5
    makeitall  
    OP
       2017-01-18 13:54:57 +08:00
    @banxi1988 为什么原来的代码就不行呢
    makeitall
        6
    makeitall  
    OP
       2017-01-18 13:57:46 +08:00
    @banxi1988 补充一下,忘了说了,只有一部分 gif 会出现这种情况,还有别的都是很正常的打上了水印,如果是图层的话应该是因为有的图层比较小。只是不知道这两个命令的原理区别。
    TaMud
        7
    TaMud  
       2017-01-18 14:33:17 +08:00
    gif 分帧,再上水印,再合并
    songz
        8
    songz  
       2017-01-18 14:53:27 +08:00
    源文件画质很差啊,楼主处理过的感觉更好,除了那个水印
    gdsagdada
        9
    gdsagdada  
       2017-01-18 18:11:45 +08:00
    可能因为 gif 帧大小不一样
    wxg4net
        10
    wxg4net  
       2017-01-19 08:40:27 +08:00   ❤️ 1
    @gdsagdada ” gif 帧大小不一样“ 正解。这会导致水印位置漂浮不定 又加上透明。 换个图层合成方式就好了
    sighforever
        11
    sighforever  
       2017-01-19 15:08:47 +08:00
    @imn1 哈哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2592 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:00 · PVG 13:00 · LAX 21:00 · JFK 00:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.