可选的开源截图软件(适合二次开发)
下面这些都支持 Windows,源码活跃、可读性较好,适合作为你二次开发的基线(侧重与 Snipaste/PixPin 相近的体验):
-
Ksnip(强烈推荐,支持贴图/置顶)
- 仓库:https://github.com/ksnip/ksnip
- 技术栈:C++/Qt(跨平台)
- 亮点:区域截图、强大标注;支持“贴图”(将截图以无边框窗口置顶显示,接近 Snipaste 的贴屏体验);多配置项。
- 适合方向:想在“贴图/贴屏、标注体验、跨平台”上扩展的场景。
-
ShareX(功能最全的 Windows 截图/分享套件)
- 仓库:https://github.com/ShareX/ShareX
- 技术栈:C#/.NET(WinForms/WPF 混合)
- 亮点:区域/窗口截图、滚动截图、标注、工作流/自动化、上传分享、快捷键自定义等功能极全,社区活跃。
- 适合方向:想要“截图+自动化流程+上传分享/脚本扩展”的路线。代码量大,上手需要时间。
-
Greenshot(经典、轻量、稳定)
- 仓库:https://github.com/greenshot/greenshot
- 技术栈:C#/.NET(WinForms)
- 亮点:易用、常用标注齐全、体量适中、社区老牌。插件生态有一定积累。
- 适合方向:需要“轻量稳定、代码清晰”的二开基线。贴图/贴屏不是主打点。
-
Flameshot(注释体验佳,跨平台)
- 仓库:https://github.com/flameshot-org/flameshot
- 技术栈:C++/Qt
- 亮点:交互顺手、注释工具完善、跨平台。Windows 构建成熟。
- 适合方向:想做跨平台、强调注释交互与外观的路线。
-
ScreenToGif(偏录屏/GIF 但也可取图)
- 仓库:https://github.com/NickeManarin/ScreenToGif
- 技术栈:C#/.NET(WPF)
- 亮点:录屏/GIF/视频编辑器一体,截图也可用。
- 适合方向:若你要把“录屏+轻量截图”融合。
-
Captura(录屏/截图)
- 仓库:https://github.com/MathewSachin/Captura
- 技术栈:C#/.NET(WPF)
- 说明:以录屏为主,项目活跃度相对较低,更适合参考实现而非长期基线。
与 Snipaste/PixPin 的相似度建议
- 要“贴图/贴屏”能力:优先选 ksnip(提供“置前无边框贴图”能力,最接近 Snipaste 的核心卖点)。
- 要“滚动截图/自动化/上传分享/脚本”:选 ShareX(工作流能力强于一般截图工具)。
- 要“轻量稳定,代码易读”:选 Greenshot。
- 要“跨平台 + 优秀注释交互”:选 Flameshot。
二次开发的着力点建议
- 贴图/贴屏增强:透明度调节、吸附、分组管理、锁定/穿透、置顶层级策略。
- 滚动截图稳定性:对不同窗口/浏览器的适配与容错。
- 标注体验:平滑笔迹、形状/箭头/气泡、马赛克/高斯、步骤标号、快捷键可自定义。
- OCR/取色器/量尺:可集成 Tesseract OCR、屏幕取色与距离测量工具。
- 全局热键与多屏支持:Win+Shift+S 风格;DPI 缩放适配。
- 性能与体积:启动速度、内存占用、无边框贴图的 GPU 加速。
选择建议(结论)
- 如果你想做一个“像 Snipaste 一样以贴图为核心”的项目,首选 ksnip 作为基线,Qt/C++ 跨平台、已有贴图能力,上手修改成本低。
- 如果你想要“功能最全、自动化和生态最好”的基线,选 ShareX(C#/.NET,Windows 原生最佳)。
- 追求轻量与稳定可维护,选 Greenshot。
PixPin是闭源软件,分析其可能的技术框架
- PixPin 应为闭源商业软件(有 Microsoft Store 条目,官网未公开源码)。
- 基于公开信息与其功能形态,较合理的技术框架推断如下(带不确定性说明):
可能的技术框架(基于公开迹象的推断)
- 技术栈(Windows 端):
- 桌面 UI/渲染:两种高概率路线
- C++/Qt(跨平台通用、贴图/透明窗/全局热键成熟;和 Snipaste 的形态非常接近)
- 或 C#/.NET(WPF + Win32 互操作),借助 Win32 分层窗体、DPI 感知、全局热键
- 屏幕捕获:
- 静态截图:GDI BitBlt 或 Direct2D/Direct3D 路径(支持高 DPI、多屏)。
- 动图/GIF/录屏:Windows 10+ 倾向 Windows.Graphics.Capture(或 DXGI Desktop Duplication);编码端使用 FFmpeg(较常见,许可可用)。
- 窗口元素识别(“自动识别窗口/控件边界”):
- Windows UI Automation (UIA,
IUIAutomation*COM 接口) 获取控件矩形/层级,并在截图界面高亮元素边框。
- Windows UI Automation (UIA,
- 滚动长截图:
- 通用法:SendInput 模拟滚动 / 分段截帧 + 图像拼接(OpenCV/特征匹配或文本边沿对齐),加多窗口适配策略。
- 浏览器/应用差异化处理:对 Edge/Chrome/Office 等做专有偏移策略(更稳)。
- 贴图/置顶窗口:
- Win32 分层窗口(
WS_EX_LAYERED | WS_EX_TOPMOST | WS_EX_TOOLWINDOW),支持透明度、缩放、旋转、点击穿透(切换时改WS_EX_TRANSPARENT)。 - 支持贴文字/图像,文字贴图可用富文本绘制。
- Win32 分层窗口(
- 标注/编辑:
- 若是 Qt:QPainter/Qt Quick;若是 WPF:DrawingVisual/WriteableBitmap/SkiaSharp。
- 常见工具:箭头、形状、步进编号、荧光笔、马赛克/高斯、取色器、量尺。
- OCR(离线识别):
- 官网与测评反复强调“离线引擎、无上传”,中文识别效果较好 → 高概率采用 PaddleOCR(C++/ONNX Runtime)或 Tesseract(附自定义中文字库);也可能调用 Windows.Media.Ocr(UWP API,需 Desktop Bridge)。
- 热键与托盘:
- 低级键盘钩子(
SetWindowsHookEx(WH_KEYBOARD_LL))或 RegisterHotKey。 - 托盘图标,开机自启。
- 低级键盘钩子(
- 安装与分发:
- 传统安装包(NSIS/InnoSetup)+ Microsoft Store(MSIX,通过 Desktop Bridge 打包);Store 允许捆绑 FFmpeg(LGPL) 的先例较多。
- 跨平台(macOS):
- 官网与测评提到 mac 版本 → 若是同一代码基线,Qt/C++ 可能性更高;若分别实现,则 mac 端为原生 Cocoa(Swift/Objective‑C)+ OCR 推理库(Paddle/Tesseract)+ Accessibility API。
- 桌面 UI/渲染:两种高概率路线
关键功能到技术映射(按 PixPin 功能)
- 截图/元素边框识别:UIA 定位元素矩形 + 屏幕采集(BitBlt/DirectX)。
- 贴图(置顶、缩放、旋转、透明/穿透):分层窗体 + GDI/D2D/Qt 绘制 + 热键控制窗口样式位。
- 滚动长截图:输入自动滚动 + 帧拼接(OpenCV/模板匹配)+ 各应用特化。
- 动图/GIF/录屏:Windows.Graphics.Capture/DXGI 采集 + FFmpeg 编码(含鼠标轨迹/点击高亮)。
- OCR(中文友好):PaddleOCR(推断)、或 Windows.Media.Ocr/Tesseract;界面支持框选 OCR、贴图内 OCR。
- 取色/量尺/标注:屏幕采样(GetPixel/D2D)+ 辅助绘制层。
若在 ShareX 上复刻 PixPin 的“易用性”点(可落地建议)
- 贴图体验拉齐(参考 PixPin/Snipaste)
- 在
ShareX.ScreenCaptureLib之后增加“贴图”管线:将最近截图转为置顶分层窗体,支持缩放/透明/穿透/吸附/分组管理。 - 增加贴图对象管理器(多贴图列表、锁定、对齐、快捷编辑)。
- 在
- 元素捕获与滚动长截图稳健性
- 加强 UIA 识别(父/子元素滚轮切换,提示层级/边框对齐吸附)。
- 滚动策略分流:浏览器/Office/IDE 各自滚动步长,失败回退为“分段拼接”。
- OCR 一体化、离线优先
- 集成 PaddleOCR(ONNX Runtime)或 Tesseract,提供“框选 OCR / 贴图内 OCR / 批量 OCR”;网络差时不依赖在线服务。
- 热键一致性与极速操作
- 默认两键流:截图 Ctrl+1、贴图 Ctrl+2;标注开始/完成/复制的 Enter/Esc 行为做平衡;提供可迁移的预设(“PixPin 风格”)。
- 编辑器交互细节
- 步进编号、快捷样式切换、拖拽复制图形、对齐/吸附、像素网格、放大镜;右键“快速导出/贴图/复制/保存/重拍”。
如果你选择 ShareX 作为基线,落地技术选型建议
- 元素识别:
UIAutomationClient(C#)+ 高亮层绘制;或直接在ShareX.ScreenCaptureLib内扩展。 - 滚动截图:
SendInput+OpenCvSharp4做拼接;为 Edge/Chrome/Word/Excel 写策略类。 - 贴图窗体:WPF + Win32 分层窗体(
HwndSource+SetWindowLong/SetLayeredWindowAttributes)或 Win32 窗口托管。 - OCR:
Tesseract(NuGet)或Windows.Media.Ocr(需要 Desktop Bridge);若追求中文效果强,优先 PaddleOCR(ONNX Runtime)。 - 录屏/GIF:Windows.Graphics.Capture + FFmpeg(可参考 ShareX 现有实现,补齐易用入口)。
- 热键:
RegisterHotKey替代低级钩子,降低冲突;提供“PixPin 快捷键预设”。
风险与不确定性(诚实标注)
- 未见官方公开源代码;以上为基于功能形态、分发渠道、常见实现路径的推断。
- OCR 引擎具体选型无官方明确披露;中文识别效果显示,PaddleOCR 概率较高,但 Tesseract/Windows OCR 也可实现“离线”。

浙公网安备 33010602011771号