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

〖上〗嘿!开发了一款 Sunny 截图 & 钉图软件,亦支持"幕识图"和"OCR"

  •  
  •   xmuli · 260 天前 · 1696 次点击
    这是一个创建于 260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发帖时提示:主题内容不能超过 20000 个字符,故拆成〖上、下〗两篇;此文为上篇

    • 上篇详细介绍功能和效果图
    • 下篇细致分享写此软件的编码经验,提供后来者参考

    简 述: 仅纯粹 C++ 开发了一款 Sunny 截图软件,原生应用;支持 "截图 & 钉图"、"图片翻译"、"OCR 提取文字" 等功能,多套皮肤和 Win10 的亚克力效果(类透明磨砂),简洁整体设计的窗口。

    以及分享如何自己写此软件的的经验,提供后来者参考

    支持跨平台:已验证可运行在的系统 ヾ(≧▽≦*)o ;

    ① Windows 7/10/11+

    ②Ubuntu 22.04+,Deepin/UOS V20, Openkylin 1.0

    ③MacOS:10.14 / 11 / 12 / 13 / 14+

    现已上架 Microsoft Store 和 Linux 多个应用商城,撒花🎊🎊🎊🎉🎉🎉;

    开发完之后一直也没有宣传过,寂静的在的一隅仓库呆着着; 直到连续几天发现涌入大量流量,Star 也随之猛长;蛤?着什么情况,我啥也没干了。问了下新人,才知 Sunny 已被很多大佬和知名软件网站给翻牌子了,属实意外惊喜╰(°▽°)╯。

    [TOC]


    描述

    Sunny 截图是使用纯 C++ 开发的一款简洁且漂亮的 "截图&拼图" 的软件工具,亦支持图片翻译和 OCR 等功能;支持 Windows ,MacOS ,Linux 平台。

    本项目从 2023 年起,至少会持续开发和维护十年,再更久的事情,那就彼时再说~;可以放心使用,因为我自身也在使用;

    官网

    官网: https://sunny.xmuli.tech | 作者: 偕臧

    GitHub | Gitee | Releases | Issues | App Store : Microsoft Store / Deepin Store / UOS Store / Spark Store /

    反馈 Bug, 提出建议或者想法,任何帮助改进,亦可提 ISSUES

    功能特色

    • 特色功能
      • 截图 & 钉图
      • 图片翻译(中/英/日/韩/俄/等)
      • OCR 提取文字
      • 窗口属性
      • 自动检测
      • 代码签名
    • 样式功能
      • 亚克力的透明磨砂
      • 自定义的活动色
      • 自定义"边框 & 十字线"的宽度
      • 绘画工具栏支持:垂直 & 水平
      • 钉图窗口的阴影效果
      • 钉图透明度
      • 多种系统风格
    • 其它功能
      • 自定义尺寸和位置截图、延时截图、窗口检测截图
      • 翻译和提取文字的 API ,支持用私人 key
      • 手动保存 & 快捷保存 & 自动保存
      • 自动拷贝到剪切板
      • 调整字体及大小
      • 快捷键自定义
      • 国际化翻译
      • 开源库鸣谢
    • 跨平台移植
      • Windows 7 / 8 / 10 / 11+
      • Ubuntu 20.04 / 22.04+
      • Deepin / UOS V20.9 - 23+
      • openkylin V1.0.1+
    • App Store 已上架
      • Microsoft Store 微软商店
      • Deepin / UOS Store 深度社区 / 统信商店
      • Spark Store 星火商店
      • openkylin Store (Ongoing) 麒麟商店

    相关文章


    演示效果

    视频

    👉 Bilibili: Sunny 截图是一款简洁且漂亮的截图的软件工具,亦支持 [图片翻译] 和 [ OCR ]

    截图

    Windows 10/11+

    Linux

    • Ubuntu 22.04

    • Deepin V20.9 / UOS

    • openkylin V1.0.1


    代码签名证书

    极力推荐从 GirHub Release 下载,更新最快最稳定。下载文件后,文件右键属性校验其唯一性,确保文件没被篡改;

    键盘快捷键

    Keys Description Mode
    <kbd>F6</kbd> 窗口激活截图图 全局
    <kbd>Ctrl</kbd> + <kbd>F6</kbd> 仅延时截图 全局
    <kbd>Shift</kbd> + <kbd>F6</kbd> 自定义截图(起点位置 + 截图区域 + 延迟时间) 全局
    🐱‍🐉
    <kbd>Esc</kbd> 退出截图 本地
    <kbd>Tab</kbd> 切换挡位,检测的子窗口矩形的深度 本地
    <kbd>`</kbd> / <kbd>~</kbd> 显示捕捉窗口的属性信息 ( Path/Size/PID/HWnd ...) 本地
    <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>S</kbd> 快捷键快速保存到到指定的路径 本地
    <kbd>←</kbd>, <kbd>↓</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> ( <kbd>A</kbd>, <kbd>S</kbd>, <kbd>W</kbd>, <kbd>D</kbd> ) 移动选中区域 1px 本地
    <kbd>Ctrl</kbd> + <kbd>←</kbd>, <kbd>↓</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> 外扩选中区域 10 px 本地
    <kbd>Shift</kbd> + <kbd>←</kbd>, <kbd>↓</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> 内缩选中区域 10 px 本地

    应用商店下载

    Microsoft Store

    在 Window 10/11+ 系统,也在微软商店直接下载


    Deepin / UOS Store

    深度社区、 统信操作系统商店中,已可直接下载

    Spark Store

    以及三方的星火商店,也可直接下载


    截图作品系列

    很久之前就想些一个软件截图的软件,目前一共写如下三个层级的难度作品,提供大家参考

    • Ⅰ. 新手之作 ShotX
      • 项目地址:ShotX | 镜像
      • 功 能:①基本的截图功能,复制和保存,②右键托盘及菜单,③支持 Window ,MacOS ,Linux ,④攥写 Github-Action 的 CI/CD 自动脚本 .yml ;实现自动打包和发布,⑤更多见 README 和 源码
      • 描 述:新手级的截图,适合初学 Qt/C++ 入门者
    • Ⅱ. 高级之作 FLIPPED
      • 官 网:flipped.xmuli.tech
      • 项目地址:FLIPPED | 镜像
      • 功 能:①贴图和钉图,②多屏截图,延时截图,自定义截图,③智能检测窗口矩形( Windows & Linux ),④矩形、椭圆、箭头、画笔、马赛克、文本、序号,⑤撤销、重做(多级)、保存、取消、拷贝到剪切板,⑥截图框样式三套,且主题色提供自定义;屏幕十字线样式自定义,⑦国际化:英文、简体中文、繁体中文;字体和字号自定义,⑧支持设置窗口,托盘,截图区域之间的流畅切换,⑨更多见 README 和 源码
      • 描 述:高级难度,适合已学习 Qt/C++ 数年经验进阶,需同类型软件的代码借鉴,但可探索中独立写一个大的软件。出发于隐私安全,无任何联网功能。
    • Ⅲ. 商业级别的成熟之作 Sunny (推荐)
      • 官 网:sunny.xmuli.tech
      • 项目地址:Sunny | 镜像
      • 功 能:是 FLIPPED 作品的超集合,常见截图功能都都包含。还包含额外的功能:① "图片翻译" (中/英/日/韩/俄等),和"OCR 提取文字",也支持用户私人 token 的额度使用 ,② .iss 脚本和 CMake 来提供便携版,安装版,③ 绘画工具栏的亚克力效果,且支持跨平台(毛玻璃效果),④编辑文本支持富文本,同一个注释可采用多个字体和颜色等(暂未遇到其它同类软件也能做到),⑤全新的 UI/UE 设计交互,“设置窗口” 无任何缝隙拼接感,颜值达到简约美观,⑥优化截屏完成后的内存释放;⑦国际化翻译更方便,⑧CMake 重写拆分为 EXE + DLL 隔离,⑨进行代码签名,方便下载校验和防篡改,⑩成功上架 Window 的微软商店,Linux 的 深度/统信商店,以及三方的星火商店等;麒麟商店也在上架待审核
      • 描 述:基于前两个的项目经验和不足,直接重写了一套新的框架和 UI 界面;目前个人从代码功能和产品体验来说,已经达到 工程代码整洁、规范、稳定和健壮性,优秀的解耦机制,漂亮简约得 UI / UX 设计,可以随时应对变化的实际需求,很久之内都无需重构了。定位为 漂亮和简洁,功能实用为主。
    项目 描述 开发经验
    ShotX 功能极简的截图工具 简易,新手级的截图,适合初学 Qt/C++ 入门
    FLIPPED 简洁且漂亮,功能完整的截图软件;隐私安全,无任何联网功能 高级难度,属 Qt/C++ 数年经验的进阶作品,在借鉴同类作品的代码时,可于探索中独立完成的一个大的软件
    Sunny 一款简洁且漂亮的截图的软件工具。亦支持图片翻译和 OCR ;已上架微软商店,深度/统信商店,及三方的星火商店等 专业级作品,适合已多年沉浸研究 Qt/C++ 经验,随心所欲写任意所需功能,属于商业级的成熟作品,是本截图系列的最高水准之作

    注: ShotX ,FLIPPED ,Sunny 这三款均支持跨平台 Windows / MacOS / Linux 。

    笔记: Sunny = FLIPPED 的功能重构 + 代码重构 + UI 重构 + 网络功能(图片翻译+OCR )+ 上架应用商店 + 后续新功能;而 ShotX 是最早的练手探索


    系列地址

    QtExamples 欢迎 star ⭐ 和 fork 🍴 这个系列的 C++ / QT / DTK 学习,附学习由浅入深的目录,这里你可以学到如何亲自编写这类软件的经验,这是一系列完整的教程,并且永久免费

    第 1 条附言  ·  259 天前

    下篇已更,侧重点在编程角度,如何实现这个软件:https://www.v2ex.com/t/1019691

    11 条回复    2024-04-11 12:03:33 +08:00
    fruitmonster
        1
    fruitmonster  
       260 天前
    官网这字体看着是真的难受···

    可能是我水平不够,没看出来哪个是 mac 版本

    Nosub
        2
    Nosub  
       260 天前 via iPhone
    虽然不用,支持一下,开发个人软件不容易,个人一直在用 FastStone Capture ,至今没有找到一个软件比这个好用的,希望 op 可以做到。
    xmuli
        3
    xmuli  
    OP
       260 天前
    @fruitmonster macos 版本晚些上传,水果本不在手上
    xmuli
        4
    xmuli  
    OP
       260 天前
    @Nosub 同感,尤其是这种兴趣之作,多谢支持。FSC 已经迭代了 18 年,在 Windows 确实强,体积大小更是一骑绝尘;
    xmuli
        5
    xmuli  
    OP
       260 天前
    @fruitmonster 已上传 Sunny_macos13_1.3.0_x64.dmg ; 且官网排版和字体后面看看怎么调整下
    cmdOptionKana
        6
    cmdOptionKana  
       259 天前
    看起来很不错!

    另外有个疑问,mingw 版本与 msvc 对于用户来说有什么区别?是不是可以只编译一个,减少你的负担,用户选择时也可以少点疑惑
    xmuli
        7
    xmuli  
    OP
       259 天前 via iPhone
    @cmdOptionKana 多几分钟构建打包分钟的事情,小事。

    也有遇到好些小白用户问,这两个差异,被你神预判到了。
    luckybigbear
        8
    luckybigbear  
       259 天前
    已 star ,还未开发过客户端,原来做的 Java 服务端
    我对图像、布局和色彩过于不敏感,只可远观,点赞回复以表敬意
    xmuli
        9
    xmuli  
    OP
       259 天前
    @luckybigbear 感谢厚爱
    lzh897364200
        10
    lzh897364200  
       218 天前
    真的是最棒的截图翻译软件,但是如何保存翻译后的图片呢?一直没有找到方法。
    或者有没有批量翻译图片并且保存?
    xmuli
        11
    xmuli  
    OP
       218 天前
    @lzh897364200 令人激动的评论,v1.3 版本直接工具栏点击即可拷贝到剪切板; v1.4 可右键菜单保存

    历史翻译过的图片都在本地路径 `C:\Users\用户名\AppData\Local\XMuli\Sunny\cache\ocr` 中下

    如需要定制专属的 `批量翻译图片并且保存` 可以详聊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1817 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.