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


屏幕截取

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

图 标:

构件类型:不可视

重要属性

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
相关推荐
橘颂TA2 分钟前
线程池与线程安全:后端开发的 “性能 + 安全” 双维实践
java·开发语言·安全
bruce_哈哈哈7 分钟前
go语言初认识
开发语言·后端·golang
十五年专注C++开发20 分钟前
VS2019编译的C++程序,在win10正常运行,在win7上Debug正常运行,Release运行报错0xC0000005,进不了main函数
开发语言·c++·报错c0x0000005
一条咸鱼_SaltyFish20 分钟前
[Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
开发语言·人工智能·微服务·云原生·架构·ai编程
隐退山林23 分钟前
JavaEE:多线程初阶(一)
java·开发语言·jvm
C_心欲无痕26 分钟前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
最贪吃的虎29 分钟前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
乾元31 分钟前
无线定位与链路质量预测——从“知道你在哪”,到“提前知道你会不会掉线”的网络服务化实践
运维·开发语言·人工智能·网络协议·重构·信息与通信
AC赳赳老秦32 分钟前
Unity游戏开发实战指南:核心逻辑与场景构建详解
开发语言·spring boot·爬虫·搜索引擎·全文检索·lucene·deepseek