开源截图程序-ScreenCapture
2023-09-18 21:59:07 阿炯

本站赞助商链接,请多关照。 ScreenCapture 是一个不足2M的开源截图程序。支持多屏幕、跨屏幕截图、常规绘图功能、马赛克、橡皮擦;上一步、下一步、保存成文件、保存到剪切板取景框;非常快、低内存消耗、低CPU使用率。项目基于 Blend2D 开发,用的 C++ 语言和操作系统 API,所以目前只支持 Windows,在MIT协议下授权使用。

特点

截图、绘图标注、滚动截图(截长图)、录屏;跨屏幕截图、高分屏支持、窗口区域高亮。

取景框,支持快捷键复制 RGB 颜色(Ctrl+R)、 HEX 颜色(Ctrl+H)与 CMYK 颜色(Ctrl+K)。

绘制填充、非填充的椭圆、正圆(Shift 按下)、矩形、正方形(Shift 按下)、箭头、排序标号(拖拽调整箭头方向和大小,滚轮调整大小)。

画曲线、直线(Shift 按下)、半透明直线、马赛克、橡皮擦、文本(滚轮调整文字大小)。

可以随时修改已绘制的元素(鼠标移到元素上等待 1.6 秒)。

撤销(Ctrl+Z)、重做(Ctrl+Y)、保存为文件(Ctrl+S)、保存到剪贴板(Ctrl+C 或双击)。

滚动截图(截长图)、屏幕录制(输出 Gif\Mp4 格式)。

在新窗口中钉住截图区域(Ctrl+P), 鼠标滚轮改变钉图窗口大小。

运行速度快、内存占用低、低 CPU 使用率。

体积小、仅一个可执行文件,无需安装,不依赖任何动态链接库。

支持通过命令行参数直接启动指定的功能。

支持用完即走(进程不驻留在系统中)。可以非常容易的集成到其他应用中。

直接把剪切板图片钉在桌面上(ScreenCapture.exe --pin:clipboard)。

多语言支持(ScreenCapture.exe --lang:en_us)。


除操作系统自带的库外不依赖任何第三方库,使用 Visual Studio 2026(With C++ Desktop Dev Kit)即可编译项目。


命令行中,等号两侧不要有空格;以下三种命令可以组合使用,比如:
ScreenCapture.exe enter=long tray=false auto-quit=true
// 启动后立即进入屏幕截图逻辑(默认)
> ScreenCapture.exe enter=cap

// 启动后进入长截图(滚动截图)逻辑
> ScreenCapture.exe enter=long

// 启动后进入录屏逻辑
> ScreenCapture.exe enter=video
// 显示托盘图标(默认)
> ScreenCapture.exe tray=true

// 不显示托盘图标
> ScreenCapture.exe tray=false

// 截图完成后,进程不退出,随时待命(默认)
> ScreenCapture.exe auto-quit=false

// 截图完成后即退出进程。
> ScreenCapture.exe auto-quit=true


如果想把这个程序集成到 Electron 或 Node 应用中,可以参考下面这段代码
let spawn = require("child_process").spawn;
let child = spawn("./path/to/ScreenCapture.exe")
child.on("close", (code) => {
/// when code is:
/// 0 undefined
/// 1 quit by press close btn;
/// 2 quit by press right mouse btn;
/// 3 quit by press esc keyboard
/// 4 quit when copy rgb color
/// 5 quit when copy hex color
/// 6 quit when save to file
/// 7 quit when save to clipboard
console.log("the quit code is:",code)
});

可以使用 AutoHotKey 定义自己的快捷键,下载安装 AutoHotKey 之后,在自己的Startup目录下创建一个.ahk 文件,内容如下
/*
C:\Users\[UserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ScreenCapture.ahk
^  :  Ctrl
!  :  Alt
+  :  Shift
#  :  Win
The hotkey is Ctrl+Alt+A
*/
^!A::Run "D:\path\to\ScreenCapture.exe"

然后双击运行一下这个.ahk 脚本文件,现在就可以按下 Ctrl+Alt+A 启动截图应用了。而且系统重启后,这个快捷键还是可用的。

最新版本:2
23年9月更新的内容:
问题:截图写入剪切板时,去除不必要的内容
优化:优化内存使用,提升软件运行效率
增强:使用键盘左/右/上/下键控制取景框位置
增强:在拖拽截图时,显示取景框
问题:钉住窗口设置未 TopMost
优化:为程序提供 ICON 图标
问题:在特殊场景下工具条位置不对
问题:去除高亮窗口区域的白边(左下右的白边)
增强:显示截图区域的位置和大小
增强:D3D 技术切换为 GDI 技术以兼容无显卡机器
优化:Ctrl+Z:上一步,Ctrl+Y:下一步
优化:缩小默认的箭头大小

v2.4.6 于2026年6月下旬发布,体积再小 10 倍,支持录屏本次更新的内容如下:
放弃 Qt 框架(软渲染),重写了整个项目的代码。
不依赖任何外部框架,所有工作都都基于系统 API 完成。
体积缩小 10 倍(至 778KB)。
性能增长数倍(视客户端情况而定,硬件加速带来的收益)。
增加录屏功能(可自由设置录屏区域,生成 MP4、GIF)。
默认情况下常驻系统,用户可以使用快捷键或托盘图标随时唤起截图。
支持命令行启动指定功能:截图、滚动截图、录屏。
支持命令行设置 “用完即走”,截图完成后,进程退出。
多语言支持。
支持设置开机自启动。


项目主页:https://github.com/xland/ScreenCapture