GIF 加水印

作者 Calvin Sun

在浏览器中为动态 GIF 添加文字、Logo 或平铺水印。可调整位置、透明度、尺寸与出现时间——文件不会离开你的设备。

点击选择 GIF 文件

或将 GIF 拖放到此处

也可以从剪贴板粘贴 GIF。

GIF和水印仅在浏览器中处理,不会上传到服务器。

这个水印工具如何工作

  • 上传文件只在本地处理。浏览器解码 GIF,用水印绘制到画布,再用 gif.js 重新编码动画。
  • 实时预览只更新当前帧。完整编码会在你点击「添加水印」后开始。
  • 文字会先栅格化成透明图层,因此预览与导出更一致,也不依赖 FFmpeg 字体。
  • OmniGIF 不会在下载的 GIF 上加自己的水印。

GIF 只有 256 色和二值透明,柔和阴影与半透明 Logo 编码后可能出现轻微色阶。

GIF 加水印指南

不用安装桌面软件,也能在线给动态 GIF 加水印。OmniGIF 会解码动画、让你放置文字或 Logo,然后在本地重新编码 GIF89a:

  • 上传 GIF: 点击、拖放或粘贴不超过 10MB 的 GIF。工具会校验类型、扩展名和文件头。
  • 添加水印: 创建文字图层、上传 Logo,或开启平铺。在画布上拖动、缩放和旋转。
  • 调整样式与时间: 设置透明度、混合模式、九宫格位置,以及可选的起止帧。预览会实时更新。
  • 导出动画: 点击「添加水印」后按原始延迟编码每一帧,然后对比并下载。

这是给动态 GIF 加水印、加 Logo 或加文字水印的实用方式,全程不出浏览器。

GIF89a 的 Graphic Control Extension 可以为每一帧指定透明索引和延迟时间。W3C GIF89a

文字水印是给动态 GIF 加上版权行、账号或字幕的最快方式:

  • 多行文字、手动换行和版权快捷插入
  • 字体、字重、斜体、下划线、对齐、行高和字距
  • 填充色、描边、阴影、背景框、内边距和圆角
  • Subtle、Copyright、Bold、Outline、Caption 等样式预设

文字会先画到透明图层,因此实时预览和最终导出更接近,也不依赖编码器自带字体。

fillText() 方法会在给定的 (x, y) 位置绘制(填充)文本。MDN Web Docs

需要品牌保护、单靠文字不够时,可以把 Logo 加到 GIF 上:

  • 支持 PNG、WebP、JPEG 和静态 GIF,只在浏览器中读取
  • 合成时保留透明 PNG 的 Alpha 通道
  • 包含、覆盖或拉伸适配,以及翻转、缩放和圆角
  • 可选裁掉水印四周的透明留白

本工具不加载远程 Logo URL,避免污染 Canvas 导致导出失败。

如果从其他源绘制未经 CORS 许可的图片,画布会被污染,随后无法导出。MDN Web Docs

平铺水印会重复文字或 Logo 单元,裁掉角落也无法去掉标记:

  • 生成一张透明总图层,而不是大量独立图章
  • 可调水平/垂直间距、行偏移和整体旋转
  • 稀疏斜向、均衡、密铺三种密度预设
  • 文字和 Logo 都可以作为平铺单元

适合截图、审阅稿,以及可能被裁切后再使用的 GIF。

globalAlpha 可以绘制半透明叠加层,然后再恢复之前的透明度继续绘制。MDN Web Docs

给 GIF 加水印不只是默认贴在角落。OmniGIF 用原图像素保存位置:

  • 九宫格、精确 X/Y、宽高和相对尺寸
  • 安全边距吸附,并防止完全拖出画布
  • 混合模式、旋转、透明度,以及淡入或缓慢位移等轻量动态效果
  • 每个图层的时间/帧范围会与时间轴双向同步

预览缩放不会改变输出尺寸。调整 GIF 尺寸时,可以选择让水印一起缩放,或保持原来的像素大小。

drawImage() 可以把源图像绘制到任意大小的目标矩形中。MDN Web Docs

给动态 GIF 加水印是为了保留署名、减少随意转载,以及标记草稿:

  • 在产品演示或表情包角落放上小 Logo
  • 在社交短片上加半透明版权行
  • 平铺审阅稿,裁切后的静帧仍能看出归属
  • 只在循环的某一段显示字幕或标记

在线 GIF 水印应当可编辑、保留动画时序,并且不会强制加上网站自己的水印。

GIF 是一种位图格式,通过多帧和 Graphic Control Extension 支持动画。MDN Web Docs

OmniGIF 以浏览器本地处理为核心。这个水印工具同样如此:

  • GIF和水印仅在浏览器中处理,不会上传到服务器。
  • 保存的模板只存在你设备的 localStorage,不会上传。
  • 统计事件不包含文件名、Logo 像素或水印文字。
  • 导出的 GIF 不含 OmniGIF 自己的水印。

如果需要在不可信网络下给 GIF 加水印,本地处理是更稳妥的默认选择。

用户选择的 File 对象可以完全在浏览器中通过 FileReader 或 URL.createObjectURL 读取。MDN Web Docs

给 GIF 加水印之后,还可以用这些 OmniGIF 工具继续处理:

  • GIF 去水印用填充、模糊、马赛克、覆盖或裁剪处理已有水印。
  • GIF 添加文字为动画叠加字幕,支持字体、描边和阴影。
  • 裁剪 GIF如果水印仍然挡住主体,可以裁掉多余区域。
  • GIF 加边框给加水印后的 GIF 加上实线或圆角边框。
  • 火焰 GIF 文字用燃烧字幕替代静态水印。
  • GIF 压缩合成后体积变大时,可以再压缩一次。
  • 裁剪 GIF 时长去掉水印段落前后不需要的帧。
  • GIF 工具浏览完整的 GIF 编辑工具集。

GIF 加水印常见问题

上传 GIF,添加文字或 Logo 图层,拖到合适位置,然后点击「添加水印」。OmniGIF 会在浏览器中处理每一帧,并保留原始帧顺序。

可以。Logo 水印会叠加到每一帧,用于品牌或版权保护。若只是社交贴纸或表情 Logo,不需要平铺水印,可改用「给 GIF 加图片」。

「GIF 加水印」适合文字标记、品牌 Logo 与平铺版权保护。「给 GIF 加图片」更轻量,适合在表情包或社交 GIF 上快速贴照片、贴纸或 Logo。

可以。支持多个文字图层、多行内容、版权符号、描边、阴影和背景框。字体来自 OmniGIF 已有的系统字体与开源字体。

可以。每个图层都有透明度,PNG Logo 也会保留 Alpha。最终 GIF 仍是 256 色,过柔的半透明可能略有色阶。

可以。每个图层都能设置自定义时间范围或帧范围,也可用「前半段」「最后一帧」等快捷操作。

可以。可叠加多个文字和 Logo,调整顺序、隐藏或锁定,并让它们在不同时间出现。

可以。在文字或 Logo 图层开启平铺,把水印重复铺满画面,比只盖住角落更难被裁掉。

默认会保留。除非你在编码设置里改成统一帧间隔。动态效果不会改变 GIF 总时长。

不会。GIF和水印仅在浏览器中处理,不会上传到服务器。只有你主动保存时,模板才会写入本地存储。

不会。下载结果只包含你添加的水印,OmniGIF 不会盖上自己的 Logo 或站点名。

在线 GIF 加水印 – 文字、Logo 与平铺 | OmniGIF