用易语言的画板,做截图,其关键解决:画板正常情况下画的矩形,不是透明的。
截图肯定是华哥矩形透明框,里面的内容截取。
在不用自绘的清空下,用 画板1.清除(, , , )解决。
将其加入时钟事件中:
截图程序:
- 打开易语言创建一个新的窗口程序,将窗口边框设置为无边框,总在最前设为真。
- 在窗口内添加一个画板组件,一个时钟组件,一个分组框。
在分组框里添加两个按钮,一个命名为截图,一个取消。
将画板的可视属性设为假。
- 双击取消按钮开始写代码,取消按钮里就一个销毁就可以了
- 然后创建一个程序集变量,类型为:矩形数据。
截图完整代码如下:
.版本 2
.支持库 eAPI
.支持库 shell
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 截图区域, 矩形数据
.子程序 _按钮2_被单击
销毁 () ' 销毁
.子程序 界面初始化
_启动窗口.左边 = 0
_启动窗口.顶边 = 0
_启动窗口.高度 = 取屏幕高度 ()
_启动窗口.宽度 = 取屏幕宽度 ()
画板1.左边 = 0
画板1.顶边 = 0
画板1.高度 = _启动窗口.高度
画板1.宽度 = _启动窗口.宽度
.子程序 截图
画板1.底图 = 快照 (, , )
.子程序 _画板1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
画板1.底图 = 快照 (, , )
截图区域.左边 = 取鼠标水平位置 ()
截图区域.顶边 = 取鼠标垂直位置 ()
时钟1.时钟周期 = 50
.子程序 _时钟1_周期事件
画板1.画矩形 (截图区域.左边, 截图区域.顶边, 取鼠标水平位置 (), 取鼠标垂直位置 ())
画板1.清除 (, , , )
.子程序 _画板1_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 临时数据, 整数型
截图区域.右边 = 取鼠标水平位置 ()
截图区域.底边 = 取鼠标垂直位置 ()
时钟1.时钟周期 = 0
.判断开始 (截图区域.左边 > 截图区域.右边)
临时数据 = 截图区域.左边
截图区域.左边 = 截图区域.右边
截图区域.右边 = 临时数据
.默认
.判断结束
.判断开始 (截图区域.顶边 > 截图区域.顶边)
临时数据 = 截图区域.顶边
截图区域.顶边 = 截图区域.底边
截图区域.底边 = 临时数据
.默认
.判断结束
截取屏幕区域 (截图区域, #接口常量.到文件, 取特定目录 (#系统桌面) + “截图.jpg”)
' 截取屏幕区域 (, #接口常量.到文件, 取特定目录 (#系统桌面) + “截图.jpg”)
_启动窗口.可视 = 假
信息框 (“已保存到桌面”, 0, , )
' 图片框_发票识别.图片 = 截取屏幕区域 (截图区域, #接口常量.到字节集, )
销毁 ()
.子程序 _按钮1_被单击
分组框1.可视 = 假
_启动窗口.可视 = 假
延迟 (100)
截图 ()
界面初始化 ()
_启动窗口.可视 = 真
画板1.可视 = 真