认识 Picseal
Picseal 是一款开源且免费的水印生成工具,旨在通过模拟小米手机的徕卡照片风格,为用户提供高质量的水印叠加效果。它不仅能自动识别并支持佳能、尼康、苹果、华为、小米及 DJI 等主流设备的拍摄参数,还允许用户进行自定义处理。
该项目由 Cursor 开发,灵感源自 lecepin 的相关项目。在技术栈上,Picseal 采用了 Vite、React、TypeScript 以及 Rust 和 WASM,并支持快速部署至 Vercel 或 GitHub Pages。
核心技术实现
Picseal 结合了前端渲染与底层语言的性能,具体实现逻辑如下:
- EXIF 信息解析: 利用 Rust 库
kamadak-exif提取图片的元数据,并通过 WASM 技术将其高效地嵌入到前端 JavaScript 中。 - 水印实时渲染: 基于 HTML 和 CSS 构建水印样式,确保用户在调整参数时能够获得即时的预览反馈。
- 图片导出机制: 调用
dom-to-image库将 DOM 节点转换为 JPEG 或 PNG 格式。
注意事项
由于导出机制本质上是类似于「屏幕截图」的方式,生成的图片与原图在像素层面上并不完全一致。针对 JPEG 格式,目前尝试通过直接拼接原图二进制数据来迁移 EXIF 信息,但该方式较为简单,无法保证在所有场景下都稳定。
使用指南
- 访问工具: 通过下方的演示地址直接在浏览器中使用,或前往 GitHub 获取源码自行部署。
- 上传照片: 导入需要添加水印的图片,工具将尝试自动识别设备信息。
- 调整样式: 根据预览效果自定义水印内容或参数。
- 导出保存: 点击导出,将带有徕卡风格水印的照片保存至本地。
相关链接:
- 演示地址 1:https://picseal.vercel.app/
- 演示地址 2:https://picseal.zhiweio.me/
- GitHub 仓库:https://github.com/zhiweio/picseal
正文完
