图片水印
为照片添加文字水印,实时预览直接显示在原图上,让你精确查看大小、不透明度、角度和位置的实际效果。
点击选择一张图片,或将其拖放到此处
支持 JPG、PNG、WebP。文件保留在你的设备上,不会上传任何内容。
生成后,加了水印的图片会显示在这里。
上方预览会在你调整大小、不透明度、角度、颜色和位置时,实时显示水印在原图上的效果。最终下载结果与你看到的一致,并会按图片的完整分辨率进行缩放。
工作原理
实时预览是叠加在你照片上方的一个定位 DOM 元素,但最终图片是在 <canvas> 上进行的真正像素处理。当你点击应用时,原始图片会以完整分辨率绘制,然后 canvas 上下文会移动到九个锚点之一(四角、边缘中点、中心,每个都有 6% 的内边距),按你设置的角度旋转,再通过 fillText() 绘制文字,并使用 globalAlpha 应用你设置的颜色和不透明度。文字对齐和基线会根据锚点设置,因此预览中的「右下」在输出中也会落在相对相同的位置。
微妙之处在于缩放比例。你屏幕上的预览可能只有 500 像素宽,而实际照片有 4000 像素宽,因此一个简单粗暴的工具渲染出的水印在预览中看起来正常,实际却小得几乎看不见。这个工具会计算显示预览宽度与图片原始宽度之间的比例,并按此比例放大字体大小,因此预览中的 48px 在完整分辨率文件中对应相同的比例大小。结果会以原始格式重新编码:JPEG 质量为 0.95,PNG 无损(如果你想要最清晰的文字边缘,请选择 PNG)。
值得了解水印的本质:这段文字被直接烘焙进像素中,而不是作为图层或元数据存储的,所以没有人能像清除 EXIF 数据那样把它剥离掉。这也是一把双刃剑。放在角落、透明度很低的小水印,很容易被裁剪工具或 AI 图像修复轻松去除;真正能保护图片的水印会与主体重叠、带有一定角度、透明度适中——这正是位置、角度和不透明度控制项存在的意义。
预览和最终渲染都在你的标签页中完成。工作时打开开发者工具的 Network 面板看看:照片从未被上传,因此客户样片和未发布的照片都只留在你的电脑上。