开源截图程序-ScreenCapture


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

特点
跨屏幕截图、高分屏支持、窗口区域高亮。
取景框,支持快捷键复制 RGB 颜色 (Ctrl+R)和 HEX 颜色(Ctrl+H)。
绘制填充、非填充的椭圆、正圆(Shift 按下)、矩形、正方形(Shift 按下)、箭头、排序标号(拖拽调整箭头方向和大小,滚轮调整大小)。
画曲线、直线(Shift 按下)、半透明直线、马赛克、橡皮擦、文本(滚轮调整文字大小)。
可以随时修改已绘制的元素(鼠标移到元素上等待 1.6 秒)。
上一步(Ctrl+Z)、下一步(Ctrl+Y)。
在新窗口中钉住截图区域(Ctrl+P), 鼠标滚轮改变钉图窗口大小。
保存成文件(Ctrl+S)、保存到剪切板(Ctrl+C)。
多语言支持(ScreenCapture.exe --lang:en_us)。
直接把剪切板图片钉在桌面上(ScreenCapture.exe --pin:clipboard)。
非常快、低内存消耗、低 CPU 使用率。
基于 Skia,非常小、仅一个可执行文件(3.8M),无需安装,不依赖任何动态链接库。
可以非常容易的集成到其他应用中。
如果想把这个程序集成到 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 启动截图应用了。而且系统重启后,这个快捷键还是可用的。
最新版本:
23年9月更新的内容:
问题:截图写入剪切板时,去除不必要的内容
优化:优化内存使用,提升软件运行效率
增强:使用键盘左/右/上/下键控制取景框位置
增强:在拖拽截图时,显示取景框
问题:钉住窗口设置未 TopMost
优化:为程序提供 ICON 图标
问题:在特殊场景下工具条位置不对
问题:去除高亮窗口区域的白边(左下右的白边)
增强:显示截图区域的位置和大小
增强:D3D 技术切换为 GDI 技术以兼容无显卡机器
优化:Ctrl+Z:上一步,Ctrl+Y:下一步
优化:缩小默认的箭头大小
项目主页:https://gitee.com/horsejs_admin/ScreenCapture

特点
跨屏幕截图、高分屏支持、窗口区域高亮。
取景框,支持快捷键复制 RGB 颜色 (Ctrl+R)和 HEX 颜色(Ctrl+H)。
绘制填充、非填充的椭圆、正圆(Shift 按下)、矩形、正方形(Shift 按下)、箭头、排序标号(拖拽调整箭头方向和大小,滚轮调整大小)。
画曲线、直线(Shift 按下)、半透明直线、马赛克、橡皮擦、文本(滚轮调整文字大小)。
可以随时修改已绘制的元素(鼠标移到元素上等待 1.6 秒)。
上一步(Ctrl+Z)、下一步(Ctrl+Y)。
在新窗口中钉住截图区域(Ctrl+P), 鼠标滚轮改变钉图窗口大小。
保存成文件(Ctrl+S)、保存到剪切板(Ctrl+C)。
多语言支持(ScreenCapture.exe --lang:en_us)。
直接把剪切板图片钉在桌面上(ScreenCapture.exe --pin:clipboard)。
非常快、低内存消耗、低 CPU 使用率。
基于 Skia,非常小、仅一个可执行文件(3.8M),无需安装,不依赖任何动态链接库。
可以非常容易的集成到其他应用中。
如果想把这个程序集成到 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 启动截图应用了。而且系统重启后,这个快捷键还是可用的。
最新版本:
23年9月更新的内容:
问题:截图写入剪切板时,去除不必要的内容
优化:优化内存使用,提升软件运行效率
增强:使用键盘左/右/上/下键控制取景框位置
增强:在拖拽截图时,显示取景框
问题:钉住窗口设置未 TopMost
优化:为程序提供 ICON 图标
问题:在特殊场景下工具条位置不对
问题:去除高亮窗口区域的白边(左下右的白边)
增强:显示截图区域的位置和大小
增强:D3D 技术切换为 GDI 技术以兼容无显卡机器
优化:Ctrl+Z:上一步,Ctrl+Y:下一步
优化:缩小默认的箭头大小
项目主页:https://gitee.com/horsejs_admin/ScreenCapture