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

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

特点
多屏幕与跨屏幕截图
画椭圆、正圆、矩形、正方形、箭头、标号、直线、画自由路径线条(填充、非填充、不同颜色、不同线框粗细、可调整大小和位置)
马赛克、橡皮擦(矩形、自由路径)
上一步、下一步(历史路径中的图形元素可以调整大小和位置)
保存成文件、保存到剪切板
取景框(支持快捷键复制 RGB 颜色和 HEX 颜色)
在新窗口中钉住截图区域
非常快、低内存消耗、低 CPU 使用率
非常小、仅一个可执行文件(1.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