开源屏幕截图
功能说明:本程序是一款基于易语言(E Language)及 eAPI 支持库开发的实用型屏幕截图工具。根据代码结构分析,其主要功能是提供一个全屏预览界面,允许用户通过鼠标拖拽的方式精确选择屏幕上的任意矩形区域,并对该区域进行截图。截图完成后,程序会自动将图片复制到系统剪贴板,并以增量命名的方式保存到本地磁盘,随后自动退出。以下是基于各个子程序功能的详细总结:
1. **程序初始化与全屏环境构建**(对应子程序:`__启动窗口_创建完毕`)
程序启动后首先进入此初始化流程。
- **获取底图**:调用 `快照` 函数一次性捕获当前电脑桌面的完整画面,存入 `图片` 变量。
- **设置窗口**:将 `_启动窗口` 的宽度和高度设置为屏幕的总宽和高,实现无边框或全屏化的操作体验。
- **画板设置**:引入 `画板 1` 控件作为交互层,将其底图设置为用户刚刚捕获的全屏 `图片`。这意味着用户在操作时看到的是自己当前的桌面静态副本。
- **变量初始化**:设置计数器 `计次` 初始值为 1,用于生成唯一的文件名;定义 `矩形` 变量用于存储选取区域的坐标信息。
2. **鼠标选取区域交互逻辑**(对应子程序:`_画板 1_鼠标左键被按下 `、`_画板 1_鼠标位置被移动`、`_画板 1_鼠标左键被放开`)
这是程序的核心交互部分,实现了类似 Windows 自带截图工具的框选功能。
- **开始选取**:在 `鼠标左键被按下` 事件中,程序锁定鼠标点击的初始位置(横向和纵向),赋值给 `矩形.左边` 和 `矩形.顶边`,并将标志位 `按下` 设为真。
- **实时反馈**:在 `鼠标位置被移动` 事件中,若 `按下` 标志为真,程序会实时追踪鼠标当前位置,更新 `矩形` 的右边和底边坐标。为了让用户看到选取框,程序会先 `清除` 画板原有内容,然后通过四次 `画直线` 操作绘制出一个矩形边框,直观地指示当前选中的范围。
- **确认选取**:当 `鼠标左键被放开` 时,标志位 `按下` 恢复为假,记录最终的 `矩形.右边` 和 `矩形.底边`,此时选取区域定格。
3. **截图执行与文件保存**(对应子程序:`_画板 1_鼠标左键被放开` 后续逻辑)
一旦选取结束,程序立即执行后台数据处理:
- **复制剪贴板**:调用 `截取屏幕区域` 函数,参数设置为“到剪贴板”,将选区图片发送到系统剪切板,方便用户直接使用 Ctrl+V 粘贴。
- **生成文件**:再次调用 `截取屏幕区域`,参数设置为“到字节集”,获取图片的二进制数据存入 `截获的图片` 变量。
- **防冲突命名**:程序进入循环判断,检查运行目录下的 `截图` 文件夹中是否存在当前计数对应的文件(如 `1.jpg`)。如果文件已存在,则 `计次` 加 1,直到找到一个未被占用的序号。这确保了多张连续截图不会互相覆盖。
- **写入硬盘**:使用 `写到文件` 函数将 `截获的图片` 保存到指定路径。
- **退出程序**:保存成功后,调用 `销毁 ()` 直接结束程序运行,无需用户手动关闭窗口。
4. **退出控制**(对应子程序:`__启动窗口_按下某键`)
程序提供了备用退出方案。
- **快捷键监听**:监听用户的按键行为,如果检测到 `键代码` 等于 `#Esc 键`。
- **取消操作**:程序会清除画板内容,并在调试器输出相关信息,随即调用 `结束 ()` 终止程序。这为用户在不想截图或误操作时提供了快速退出的途径。
**总结**:
该程序是一个典型的基于图形界面交互的桌面辅助工具。它充分利用了易语言的 `画板` 控件绘图功能和 `截取屏幕区域` API 接口。程序的设计逻辑清晰,从全屏快照 -> 鼠标框选 -> 视觉反馈 -> 双重保存(剪贴板 + 文件)-> 自动退出,形成了一套完整的自动化工作流。相较于手动打开软件再截图,该程序以“启动即全屏”的形式提高了截图的便捷性,且具备自动重名处理机制,适合作为高频截图任务的轻量级解决方案。
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_按下某键
| |
| |------ _画板1_鼠标左键被按下
| |
| |------ _画板1_鼠标左键被放开
| |
| |------ _画板1_鼠标位置被移动
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。