V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nofishing
V2EX  ›  分享创造

[开源免费] picseal 小米照片风格水印生成工具,支持佳能、尼康、索尼、苹果、华为、小米、大疆。

  •  
  •   nofishing · 4 天前 · 1556 次点击

    模仿小米照片风格,生成莱卡水印照片。同时支持佳能、尼康、苹果、华为、小米、DJI 等水印。可自动识别,也可自定义处理。

    零前端基础用 cursor 写的一款相机水印添加工具,灵感和 Fork 自 lecepin/gen-brand-photo-pictrue

    支持一键部署到 Vercel 和 GitHub Pages 。

    技术栈使用: Vite + React + Typescript + Rust + WASM (不是很懂,cursor 教的)

    项目开源: https://github.com/zhiweio/picseal

    想法

    想要给我的照片加上小米徕卡水印,但是小米手机只能给小米拍的加水印,于是我在网上找工具,发现有一个很好的安卓应用,订阅费要 30 块一个月。放弃,又看到了一个 Python 写的命令行工具 leslievan/semi-utils,感觉使用不太友好,没有 GUI 不适合新手,一开始想着给它加个 QT 的界面,后来想想开发成本太高,也不大看好 PyQT 开发图形,更偏向前端来开发这些产品。

    后来我找到了这个 lecepin/gen-brand-photo-pictrue,很不错,而且没有像其他项目一样用的 Image-ExifTool 命令工具来解析 EXIF 信息,用了 Rust + WASM 嵌入前端库,很方便!我需要做一些样式调整,但是他没有啥文档说明,我决定看一遍代码再重构,然而我并不会前端开发,于是转而尝试使用现在很多人推荐的 Cursor 来辅助我开发,最终效果很棒。

    尝试一下:

    效果展示:

    尼康

    佳能

    苹果

    大疆

    富士

    华为

    徕卡

    索尼

    小米手机徕卡相机

    第 1 条附言  ·  1 天前

    这是我用来学习尝试前端的项目,如有对原作者代码有侵权,请联系告知我删除原始代码。

    后面会继续学习前端技术并更新改进这个项目,预计会逐步全部废弃原项目代码实现。

    可以换成 rust little_exif 库来实现对图片 exif 的读写,以便导出时保存原图中的 exif 信息

    JUST FOR FUN!

    23 条回复    2024-11-29 14:43:28 +08:00
    wjup
        1
    wjup  
       4 天前
    不错🎉
    musi
        2
    musi  
       4 天前
    Rust + WASM 主要是用来解 exif 信息的吗
    gucheen
        3
    gucheen  
       4 天前
    https://github.com/ggchivalrous/yiyin ,我一般用这个打水印,感觉相比白框的这种对照片的观感影响更小
    不过我很少加水印,感觉没必要
    nofishing
        4
    nofishing  
    OP
       4 天前 via Android
    @gucheen 这个也不错👍 有空加上这个效果实现😄
    nofishing
        5
    nofishing  
    OP
       4 天前 via Android
    @musi 对,这个方案比较好,我提到的以及评论区提的其他开源实现,应该都是下载命令行工具来调用解析,这样跨平台安装比较麻烦
    Junn
        6
    Junn  
       4 天前
    苹果好像用快捷指令就行了
    ShawnSky
        7
    ShawnSky  
       4 天前
    牛啊,可以搞个 docker 版本的不
    另外提些建议
    1. 最好参数支持模板,比如 不想要经纬度
    2. 支持批量,毕竟玩摄影的基本都会有好多图
    3. 支持签名,上传透明的 png

    拍的真好
    wizChen
        8
    wizChen  
       4 天前
    不错不错,这个加完水印之后,原有的 exif 会被修改吗?还有文件大小,照片分辨率会降低吗?
    nofishing
        9
    nofishing  
    OP
       4 天前 via Android
    @Junn 对的,我也收到过这个方案,不过手机换成小米了现在
    nofishing
        10
    nofishing  
    OP
       4 天前 via Android
    @ShawnSky 感谢建议,后面我慢慢学习来改进加上这些功能。照片我是网上随便搜的,我没这些相机🥲
    nofishing
        11
    nofishing  
    OP
       4 天前 via Android
    @wizChen 啥都不改,你可以对比下,如果有问题提个 issue 我查查原因
    nofishing
        12
    nofishing  
    OP
       4 天前 via Android
    @ShawnSky 老哥,摄影照片签名最终效果是什么样,能给个参考吗,这个功能感觉很有用
    Alexf4
        13
    Alexf4  
       4 天前
    mark ! 真的挺喜欢这类风格的相框效果
    sodesga
        14
    sodesga  
       3 天前
    选的图片很有视觉冲击力
    ShawnSky
        15
    ShawnSky  
       3 天前
    @nofishing 哈哈哈,经过 gpt 的努力,已经在本地使用 docker 部署了项目,很牛~~给 star
    ShawnSky
        16
    ShawnSky  
       3 天前
    @nofishing 可以在小红书上找一下风光摄影师,很多都有签名,可以看下这个

    41 马玉晗 Martin 发布了一篇小红书笔记,快来看吧! 😆 GxuXCjMp4kuwyAz 😆 http://xhslink.com/a/72rUYcF8pNx0 ,复制本条信息,打开 [小红书] App 查看精彩内容!
    benfafa
        17
    benfafa  
       3 天前
    有考虑做成捷径吗
    proxychains
        18
    proxychains  
       3 天前
    讲真, 照片拍得真不错
    musi
        19
    musi  
       2 天前
    "原有的 exif 会被修改吗?还有文件大小,照片分辨率会降低吗"
    "啥都不改"

    我看了下源码用 domtoimage 生成新的图片,又没有把原 exif 塞到新的图片里,为啥说啥都不改?
    nofishing
        20
    nofishing  
    OP
       2 天前 via Android
    @musi 不好意思,不太熟悉,我再研究下😂
    newarray
        21
    newarray  
       2 天前
    还臻不错
    boneyao
        22
    boneyao  
       1 天前
    原作者没有 LICENSE ,你的有 LICENSE MIT 。🐶,可以不哦
    nofishing
        23
    nofishing  
    OP
       1 天前
    @boneyao 不是很清楚,问了下 GPT

    '''
    如果一个开源的 GitHub 仓库没有明确指定许可证( license ),那么它的版权默认归原作者所有,你没有权利复制、分发、修改或使用这个仓库的代码,除非原作者明确授予你这些权利。

    在你 fork 这个仓库之后,你可以在你的 fork 中添加任何你想要的许可证,因为你是你 fork 仓库的版权所有者。然而,这并不意味着你获得了原始仓库的版权许可,因此你添加的许可证只适用于你的 fork 仓库。

    如果你想要将原始仓库的代码用于商业项目或以任何方式修改和分发,你需要获得原作者的明确许可。通常,这意味着你需要与原作者联系并请求许可。如果原作者同意,他们可能会将一个许可证添加到原始仓库中,或者直接给你一个书面许可。

    总之,虽然你可以在你 fork 的仓库中添加 MIT 许可证,但这并不授予你原始仓库代码的任何权利。在涉及原始仓库代码的使用和分发时,你需要遵守原作者的版权声明和许可。
    '''

    我已经把原来的仓库代码改的基本没有了,应该没啥大问题😂
    侵删
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1720 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.