开源项目自荐:截图工具(小、快、功能丰富)

我最近开发了一款截图程序,在GitHub开源:

基础的功能该有的都有了,而且有些功能还更好,大家想要什么功能可以提Issue,我看响应的人多,我就做。

当然如果发现了BUG,也请提Issue,谢谢啦。

下面是这个程序的一些特性:

多屏幕截图、跨屏幕截图
画椭圆、正圆、矩形、正方形、箭头、标号、直线、画自由路径线条(填充、非填充、不同颜色、不同线框粗细、可调整大小和位置).
马赛克、橡皮擦(矩形、自由路径)
上一步、下一步(历史路径中的图形元素可以调整大小和位置)
保存成文件、保存到剪切板
取景框(支持快捷键复制RGB颜色和HEX颜色)
非常快、低内存消耗、低CPU使用率.
非常小、仅一个可执行文件,无动态链接库.
可以非常容易的集成到其他应用中.

程序只有一个exe文件,大小1.78M。

大家可以在这里下载试用:https://github.com/xland/ScreenCapture/releases
 

做这个程序的目的时为了方便开发者把它集成到自己的应用中。

如果普通用户要使用的话,可以下载并安装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 启动截图应用了。

而且系统重启后,这个快捷键还是可用的。

如果你想把这个程序集成到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)
});

集成到其他应用中,也是类似的方法。

下面是演示视频:

https://www.zhihu.com/zvideo/1674025250764337152

 

技术:

这个项目是基于Blend2D开发的项目,用的C++语言和操作系统API,

所以目前还只支持Windows,还不支持Mac

如果有熟悉Mac的小伙伴,欢迎参与到这个项目的开发中来,把它推向Mac平台。

而且最低是:Windows 10 1607,因为有些系统API,Win7还没有,微软也已经不再为Win7更新了。

 

未来:

目前这个项目已经发布了十几个版本,功能还算稳定了

如果你发现了BUG,这段事件我会尽快解决。

功能上还有一些值得优化的点

比如把控制边框粗细的按钮换成滑块等

这类优化,我会在时间充裕的时候做。

 

以上,希望你能喜欢。

开发者朋友们,别忘记给项目点个小星星再走呀。

 

 

 

posted @ 2023-08-18 09:19  liulun  阅读(5150)  评论(50编辑  收藏  举报