惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Jina AI
Jina AI
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
美团技术团队
腾讯CDC
博客园 - Franky
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
aimingoo的专栏
aimingoo的专栏
博客园_首页
V
V2EX
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss

博客园 - liulun

开源自荐:功能齐全的截图软件(仅1M) 开源自荐:功能齐全的截图工具(含录屏、截长图,体积仅780KB) 自荐:开源截图工具ScreenCapture:超多控制指令,支持截长图 脚踏esbuild祥云,胸怀tsx利刃,身披scss羽衣,追寻前端的本质 如何开发Vite3插件构建Electron开发环境 Electron是什么以及可以做什么 线上Electron应用具备哪些特征? 桌面软件开发框架大赏 如何把Electron做成一个Runtime,让多个应用共享同一个Electron 微软要放弃Electron了???聊聊WebView2 自己实现一个Electron跨进程消息组件(兼新书自荐) 一个Electron的设计缺陷及应对方案 如何点击穿透Electron不规则窗体的透明区域 Electron团队为什么要干掉remote模块 谈Vite在Electron环境下吃花卷拉馒头的现象 公司只提供签名服务,不提供证书文件,如何打包Electron应用 vue3微前端架构——基于蚂蚁qiankun框架 Vite ❤ Electron——基于Vite搭建Electron+Vue3的开发环境【一】 Electron安装过程深入解析(读完此文解决Electron安装失败导致的无法启动,无法打包的问题) 大型Electron应用本地数据库技术选型 极客手中的利器Electron
开源项目自荐:截图工具(小、快、功能丰富)
liulun · 2023-08-18 · via 博客园 - liulun

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

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

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

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

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

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

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

如果普通用户要使用的话,可以下载并安装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,这段事件我会尽快解决。

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

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

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

以上,希望你能喜欢。

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