# ScreenCapture **Repository Path**: horsejs_admin/ScreenCapture ## Basic Information - **Project Name**: ScreenCapture - **Description**: 多屏幕截图、跨屏幕截图 常规绘图功能 马赛克、橡皮擦 上一步、下一步 保存成文件、保存到剪切板 取景框(支持快捷键复制RGB颜色和HEX颜色) 非常快、低内存消耗、低CPU使用率. 非常小、仅一个可执行文件,无动态链接库. 可以非常容易的集成到其他应用中. - **Primary Language**: C++ - **License**: LGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 182 - **Forks**: 45 - **Created**: 2023-08-24 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: image-processing **Tags**: None ## README 简体中文 | [English](./ReadMe.en.md) ![banner](./Doc/banner.png) ## 特性 - 跨屏幕截图、滚动截图(截长图)、高分屏支持、窗口区域高亮。 - 取景框,支持快捷键复制 RGB 颜色(`Ctrl+R`)、 HEX 颜色(`Ctrl+H`)与 CMYK 颜色(`Ctrl+K`)。 - 绘制填充、非填充的椭圆、正圆(按住`Shift`)、矩形、正方形(按住`Shift`)、箭头、排序标号。 - 绘制曲线、直线(按住`Shift`)、半透明直线、马赛克、橡皮擦、文本。 - 可以随时修改、删除已绘制的元素(鼠标移到元素上)。 - 撤销(`Ctrl+Z`)、重做(`Ctrl+Y`)。 - 在新窗口中钉住截图区域,使用鼠标滚轮放大、缩小钉图窗口大小。 - 保存为文件(`Ctrl+S`)、保存到剪贴板(`Ctrl+C`或双击鼠标左键)。 - 运行速度快、内存占用低、CPU 使用率低。 - 体积小、仅一个可执行文件,无需安装,不依赖任何动态链接库。 - 丰富的命令行控制参数。可以非常容易地集成到其他应用中。 ## 下载 [Release](https://github.com/xland/ScreenCapture/releases/) (8M) ## 命令控制 ```powershell //设置本次截图的文件保存路径。 //如果路径是目录,则保存文件时会自动生成文件名。 //如果路径包含文件名,则按此文件名保存文件(文件存在则覆盖)。 //目前只支持png格式文件 ScreenCapture.exe --path:"D:\\doc\\test.png" ScreenCapture.exe --path:"D:\\doc" //截取屏幕某个区域的图像,10,10是坐标,500,600是宽高 //截取完成后图像写入剪切板 ScreenCapture.exe --cap:area,10,10,500,600,clipboard //截取屏幕某个区域的图像,截取完成后图像写入指定路径 ScreenCapture.exe --cap:area,10,10,500,600 --path:"D:\\doc" //截取整个屏幕并写入剪切板 ScreenCapture.exe --cap:fullscreen,clipboard //截取整个屏幕并把图像写入指定路径 ScreenCapture.exe --cap:fullscreen --path:"D:\\doc" //用户拖拽鼠标确定截图区域后,马上把截图区域内的图像写入剪切板 ScreenCapture.exe --cap:custom,clipboard //用户拖拽鼠标确定截图区域后,马上把截图区域内的图像写入指定路径 ScreenCapture.exe --cap:custom --path:"D:\\doc" //钉住剪切板内的图像,100,100是钉住窗口的坐标 //如忽略窗口坐标,则窗口默认坐标为100,100 ScreenCapture.exe --pin:clipboard,100,100 //钉住指定的图像文件,100,100是钉住窗口的坐标 ScreenCapture.exe --pin:file,"D:\\test.png",100,100 //钉住桌面某个区域的图像,(100,100,500,600)是区域矩形,(800,10)是钉住窗口的坐标 ScreenCapture.exe --pin:area,100,100,500,600,800,10 //设置应用程序的语言,目前只支持简体中文(zhcn)和英文(en),默认中文 ScreenCapture.exe --lang:en //保存图像时,对图像进行压缩。 //第一个参数6为图像质量,第二个参数60为缩放百分比 //图像质量取值范围为 -1到9的整数 //0:最小压缩级别,文件最大 //9:最大压缩,文件最小 //-1:默认压缩级别,中等压缩 //缩放百分比取值范围为 1到100的整数 //图像存入剪切板时,图像质量参数无效 ScreenCapture.exe --comp:6,60 //控制主工具栏按钮(及分割线)的顺序,位置及显隐情况。 ScreenCapture.exe --tool:"rect,ellipse,arrow,number,line,text,mosaic,eraser,|,undo,redo,|,pin,clipboard,save,close" //截长图 //截长图窗口只有四个控制按钮`pin,clipboard,save,close`,也是支持通过`--tool`指令控制的 ScreenCapture.exe --cap:long ``` - `--cap`与`--pin`参数互斥,其他参数可组合使用。 - 一个独立的参数以 `--` 开头,参数内不能出现空格,参数和参数之间以空格分割。 - 在参数里使用文件路径则需根据你的终端来决定使用怎样的路径分隔符:`\\`或`/`。 ## 集成 示例为 Node.js 或 Electron,Python类似。 ```js 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 key; /// 4 quit when copy rgb color; /// 5 quit when copy hex color; /// 6 quit when copy cmyk color; /// 7 quit when copy mouse position; /// 8 quit when save to file; /// 9 quit when save to clipboard; console.log("the quit code is:",code) }); ``` ## 支持的操作系统 - Windows 10 1607 or Later ## 快捷键 ### 方案一:AutoHotKey - 下载并安装 [AutoHotKey](https://www.autohotkey.com/) 。 - 在`%AppData%/Microsoft/Windows/Start Menu/Programs/Startup`目录下创建一个 `.ahk` 脚本文件,文件内容如下: ```ahk /* ^ : Ctrl ! : Alt + : Shift # : Win 示例1:Ctrl+Alt+A ^!A::Run "path/to/ScreenCapture.exe" 示例2:Win+Ctrl+Alt+P 并通过命令行参数设置截图保存路径 #^!P::Run "path/to/ScreenCapture.exe" "--dir:`"D:\doc`"" */ ^!A::Run "path/to/ScreenCapture.exe" ``` - 双击此 `.ahk` 文件,然后你就可以通过快捷键 `Ctrl+Alt+A` 启动 ScreenCapture.exe 了. - 此 `.ahk` 脚本会随机启动. ### 方案二:SC_Starter [SC_Starter](https://github.com/Mikachu2333/sc_starter/)是一个使用Rust编写ScreenCapture启动器。 - 内置截图程序,无需额外安装 - 自动注册全局快捷键 - 支持自定义保存路径 - 支持以时间戳命名 - 文件防删除保护 - 托盘左键单击截图,右键退出 - 提供随机自启动支持 ## 赞助

支付宝赞助

微信赞助

作者微信

公众号:桌面软件

感谢 [EV Sign](https://evsign.cn/) 提供数字签名服务