本帖最后由 喵藏 于 2024-2-19 11:51 编辑
图片显示 采用了:
延迟方法,采用了 精易模块 的 程序_延时 (, )
遇到了如下情况
- 在延迟1 和 延迟10 的情况下,很快就崩溃,
- 延迟100以上,概率崩溃的情况,
在我电脑上(我的电脑是 双路 E5 2680 V2),
10ms切换下一张图片{
固定图片组的情况下:
- 模块 提前缩放 CPU占用率是:1.0%~1.2%波动
- 采用 画板本身 缩放 CPU占用率是:3.0%~3.2%波动
-----------------------------
不固定图片组的情况下:
- 模块 实时缩放 CPU占用率是:2.7%~2.9%波动
- 采用 画板本身 缩放 CPU占用率是:3.0%~3.2%波动
导致我不思不得其解
最终我怀疑到了易语言这些控件本身不支持这样高速显示图片
在翻了翻我电脑上已经安装,但是没有启动的支持库上,
我发现了一个东西,VCLBase 支持库
在 VCLBase 支持库中,有一个控件叫 VCL面板
我抱着试一试的心态,测试了下,发现
在延迟1 和 延迟10 的情况下,
不崩溃了!!!
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
下面放上我的测试代码
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件数组 | 文本型 | | 0 | i | 整数型 | | | 图片数据数组 | 字节集 | | 0 | 图片宽度 | 整数型 | | 0 | 图片高度 | 整数型 | | 0 | 缩放宽度 | 整数型 | | | 缩放高度 | 整数型 | | | a | 整数型 | | | 内存画板 | 内存画板 | | | 文件_枚举 (“D:\壁纸\假面\”, “*.jpg|*.png|*.jpeg”, 文件数组, 真, 真, ) 计次循环首 (取数组成员数 (文件数组 ), i )加入成员 (图片数据数组, 读入文件 (文件数组 [i ])) 加入成员 (图片宽度, 图片_取宽度 (图片数据数组 [i ])) 加入成员 (图片高度, 图片_取高度 (图片数据数组 [i ])) 计次循环尾 ()调试输出 (“3”)缩放宽度 = 图片框EX1.宽度 缩放高度 = 图片框EX1.高度 内存画板. 创建 (缩放宽度, 缩放高度, , ) . 判断开始断 (缩放宽度 ÷ 图片宽度 [i ] < 缩放高度 ÷ 图片高度 [i ]) . 判断循环首 (真)计次循环首 (取数组成员数 (图片数据数组 ), i ) 判断 (缩放宽度 ÷ 图片宽度 [i ] < 缩放高度 ÷ 图片高度 [i ])内存画板. 画图片_数据 (图片数据数组 [i ], , , 缩放宽度, 缩放宽度 ÷ 图片宽度 [i ] × 图片高度 [i ], 1 )内存画板. 画图片_数据 (图片数据数组 [i ], , , 缩放高度 ÷ 图片高度 [i ] × 图片宽度 [i ], 缩放高度, 1 )图片框EX1.图片 = 内存画板. 取图片 (, , )内存画板. 清除 () 程序_延时 (到整数 (编辑框1.内容 ), )处理事件 ()计次循环尾 ()判断循环尾 ()
模块源地址:
https://bbs.125.la/forum.php?mod=viewthread&tid=14802974&page=1&ordertype=1#pid27572712
2024年2月19日11:12:27 经过大佬提醒,发现这个 VCLBase 支持库 不支持静编,阿西吧,我再找找别的控件 2024年2月19日11:49:51 一番寻找,找到了 EX_UI 的图片框,经过测试,1ms不崩溃,上面代码已修改 |