中文编程开发语言工具构件说明:屏幕截取构件的编程操作


屏幕截取

用于截取指定区域的图像。

图 标:

构件类型:不可视

重要属性

l 截取类型

枚举型,设置在截取屏幕时的截取类型。包括:全屏幕、指定区域、活动窗口三种。当全屏幕截取时相当于执行了硬拷屏(PrintScreenSysRq键)功能;指定区域截取则是通过矩形参数属性设置欲截取区域的坐标值截取指定的区域。当截取屏幕中"焦点所在窗口"位图时,可选择"活动窗口"项。

l 矩形参数

对象型,用于设置在指定区域截取时的截取范围。(X1,Y1)表示截取范围的左上角横纵坐标值;(X2,Y2)表示截取范围的右下角横纵坐标值。

例如:设置X1=30、Y1=40、X2=110、Y2=100。表示截取的范围如图1所示。

图1

屏幕左上角横纵坐标为(0,),依照设置结果,凹痕的范围即指定区域范围。

l 缓存方式

枚举型,当屏幕截取时,位图临时存放到缓存中。它的存储方式分为:替换、追加两种。

替换:表示新截取的位图将上一幅位图替换。即在缓存中永远只有一幅最新截取的位图。

追加:表示将新截取的位图追加到上一幅位图的后面。并将位图名称按序号加1。如上一幅位图的名称为A01,追加的位图名称为A02、A03......

**技巧:**静态截屏时,适用替换的方式;动态截屏时,需要用到追加方式。所谓静态截屏,即只截屏幕上的一幅静止图案;而动态截屏是截取屏幕上放映的动画或视频。

**注意:**在动态截屏时,位图要尽可能的小,数量尽可能的少。反之,您的内存资源可能承受不起。

l 位图列表

构件型,设置与位图列表构件相链接。屏幕截取构件必须与位图列表构件联用才可以。屏幕截取是利用位图列表来管理缓存中的位图的。

重要方法

l 截取一帧

执行此方法时,截取屏幕上一帧图像到缓存中。

实例:在开发项目中,素材的重要性是不言而喻的。但往往我们不是全面照搬而是引用一个局部,譬如一个局部动画。下面的例子将帮您解决这个问题,项目名称为动态截屏。

构件组成也很简单,屏幕截取、位图列表、事件发生器、两个普通按钮。

项目设计时期设置:屏幕截取类型为"指定区域";矩形参数分别为"30、、110、100";缓存方式为"追加";在位图列表属性中指定与位图列表构件相链接;事件发生器的允许属性为"假";间隔时间为"200"。(也就是一秒钟截取五次。如果不设置该项,默认为一秒钟截一次,动画可能失帧。)

项目运行时期:当鼠标单击普通按钮1时。将事件发生器允许属性设为"真"。事件设置如图2所示

图2

当事件发生器定时执行时,截取屏幕上的图像。事件设置如图3所示。

图3

当鼠标单击普通按钮2时,将事件发生器允许属性设为"假",并保存当前截取的一组图像。事件设置如图4所示。

图4

图像将以何种名称,存放在何处呢?这是截止到目前您最想知道的答案。很简单,如果您按照上述步骤做了,那么系统会自动将这组位图的名称定义为ABC#0000、ABC#0001、ABC#0002......而它们将自动存储在您的项目所在目录下。好了,选好素材可以开始运行了。

中文编程系统化教程,不需英语基础。学习链接
https://edu.csdn.net/course/detail/39036
相关推荐
Alice-YUE5 分钟前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
云泽80810 分钟前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
froginwe1128 分钟前
DOM 加载函数
开发语言
Hello eveybody44 分钟前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
AI进化营-智能译站1 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
iCxhust1 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
莎士比亚的文学花园1 小时前
Linux驱动开发(3)——设备树
开发语言·javascript·ecmascript
图码2 小时前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
U盘失踪了2 小时前
python curl转python脚本
开发语言·chrome·python
charlie1145141912 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c