搜索
编程论坛
→
开发语言
→
『 VB6论坛 』
→ vb6绘制活动图案-虚拟仪表的指针,每次都要更新背景,太占用系统资源了,又没其他办法
标题:
vb6绘制活动图案-虚拟仪表的指针,每次都要更新背景,太占用系统资源了,又 ...
只看楼主
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
结帖率:
50%
楼主
已结贴
√
问题点数:10 回复次数:28
vb6绘制活动图案-虚拟仪表的指针,每次都要更新背景,太占用系统资源了,又没其他办法
比如仅仅恢复指针区的背景,但不知怎么处理。
搜索更多相关主题的帖子:
指针
图案
仪表
资源
系统
2010-10-09 08:44
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
2
楼
得分:0
设置picture.autoredraw=false后,定时自动画出图形,然后刷新背景。但这种方法效果极差。屏幕闪,而且占用cpu资源。
2010-10-09 11:40
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4912
专家分:29900
注 册:2008-10-15
第
3
楼
得分:1
你可以分层不?
固定部分,保存为一个 BMP 文件,然后加载进 picture 中,
然后再到上面画 活动部分...
cls 只是清 image 属性里的图像,不清 picture 属性里的图像.你试试看....
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-09 14:56
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
4
楼
得分:0
我正是这样做的
由于虚拟仪表指针活动要占用整个仪表盘,所以每次刷新前,要对仪表盘区cls,然后绘制指针,经大量占用cpu
2010-10-09 16:02
lowxiong
等 级:
贵宾
威 望:
27
帖 子:652
专家分:3402
注 册:2008-5-7
第
5
楼
得分:2
仪表指针是两点的直线方程,每次画指针就根据直线方程计算出像素坐标,根据像素坐标得到像素值,存入一数组,判断指针是否变化,,变化则恢复原像素,在新位置画指针
2010-10-09 19:49
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4912
专家分:29900
注 册:2008-10-15
第
6
楼
得分:3
实在不行。那就把 表盘区分区域吧。
如有二根 表针,那么做 透明的GIF 表针图片,各个角度都做一张,如以每半格做一张。然后把这些图片加载到 image 控件中去,可以做到背景透明的。
然后计算结果需要哪张表针,就复制哪张表针的图片到 表盘区来吧。
你自己测试一下。这种方法应该可行,我没测试过。
实在不行,那你只能去 看DX编程了。 表针使用 BMP + 透明色 进行渲染上去。
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-09 22:04
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
7
楼
得分:0
恢复像素?
怎样恢复像素?用画点的命令?
2010-10-10 08:18
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
8
楼
得分:0
图片方式是最终的办法,这样很美观。
要计算机反复加载40-50张图片,并且屏幕上有十多个虚拟仪表,会不会很耗时?
2010-10-10 08:25
bczgvip
等 级:
贵宾
威 望:
66
帖 子:1310
专家分:5312
注 册:2009-2-26
第
9
楼
得分:1
问题是为什么要"反复加载40-50张图片"呢?
2010-10-10 09:57
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
10
楼
得分:0
加载的意义
加载的方式1设计时将50张图片放进同一个图片框,需要哪一个显示哪一个。
2 在程序运行中,Loadpicture方式调用目录里的图片
第一种方式可能50个图片都进入了内存,如果有10个虚拟表将有500各图片进入内存。
第二种方式随着图片的转换可能不停的读硬盘
那种方式好呢?
2010-10-10 14:48
29
1/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-322307-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029789 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved