|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 VB6论坛 』
→ vb6绘制活动图案-虚拟仪表的指针,每次都要更新背景,太占用系统资源了,又没其他办法
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1991
人关注过本帖,
1
人收藏
标题:
vb6绘制活动图案-虚拟仪表的指针,每次都要更新背景,太占用系统资源了,又 ...
只看楼主
加入收藏
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
21
楼
收藏
得分:0
回复 5楼 lowxiong
紧急求助!怎么做。或者怎样用line画一个透明指针。
2010-10-14 13:58
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
22
楼
收藏
得分:0
回复 21楼 wangjinchao
仪表.rar
(35.92 KB)
我的测试工程,你看看.
指针是最简单的.
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-14 17:31
举报帖子
使用道具
赠送鲜花
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
23
楼
收藏
得分:0
回复 22楼 风吹过b
的确屏幕不再闪,很神奇。cpu的使用率高达100%,可能画线方式太耗cpu时间了。
我试图将指针图片放下层,表盘放上层,仅作了重复绘制表针,屏幕照样闪的严重。
2010-10-14 19:02
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
24
楼
收藏
得分:0
那个极限摆表是死循环在刷新,下面有 FPS 显示.极限摆表是用来测试 系统运行情况的.
这个自然是 CPU使用率占用 100%啊.
你使用的过程中应该是使用定时器或什么程序进行周期性激发.
按钮1就是摆表一次的,你应该可以看到CPU占用率的.瞬间完成的.
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-15 08:05
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
25
楼
收藏
得分:0
右有二个图像框和一个 image1 控件.
image1 保存背景图.
Picture1 用来绘制 仪表格子线的.也就是 先复制背景,再画格子线,然后保存的.
Picture3 用来绘制 指针的 .先从 Picture1 复制图像 后,再画指针 .
绘制完 Picture3 后,再把指定坐标把 Picture3 的内容贴到左边 Picture2 中的指定位置去.
这里面按原图大小,不缩放进行贴的.
这里面我还简化了一个动作,就是简化掉了缓冲区.
实际使用应该是 Picture2 是一个缓冲区,在 Picture2 全部贴完后,再把整个图像一次性贴到需要显示的地方去.
C 里面就是这样的处理的,把视口分为二个,一个可见,另一个不可见,先在 不可见的上面绘图,然后翻转,让可见的变为不可见,不可见的变为可见,使图像变的平滑不闪烁.
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-15 08:15
举报帖子
使用道具
赠送鲜花
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
26
楼
收藏
得分:0
回复 25楼 风吹过b
我马上作了实验,如果仪表放在picture控件里是不闪的,原来我的做法是,在 form里放上几个image图片,定时更新图片或者划线,结果出现闪的情况,二者都是先设置autoredraw=false,然后cls.它们区别在那呢?
2010-10-15 08:30
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
27
楼
收藏
得分:0
Picture ,你要画新的线之前,就必须 CLS ,再贴新的背景,再画线.结果就是闪一下.不管什么机子都会闪.
而我是 把新的线画在 另一个不显示的 Picture 中,如果出现闪的话也是在这个不显示出来的 Picture 中闪烁,看不到,所以不用管.
然后再整个复制过来,在显示的 Picture 中,不需要CLS ,只需要做一件事, 贴图过来,自然不闪.
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-15 11:52
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册:2008-10-15
第
28
楼
收藏
得分:0
设置 autoredraw=false 后,图像不会由 windows 自动更新,必须要手动更新.
还在设置 autoredraw=false 后 Picture 控件的 image 属性无效,得到的结果是空白.
image 属性的内容是 你在 Picture 中贴图,画线 等等操作后,最终的图像.
所以,设置 autoredraw=true 后,picture 就可以当作图像的缓冲区来使用.
授人于鱼,不如授人于渔
早已停用QQ了
2010-10-15 11:55
举报帖子
使用道具
赠送鲜花
wangjinchao
等 级:
新手上路
帖 子:21
专家分:0
注 册:2010-4-13
第
29
楼
收藏
得分:0
回复 27楼 风吹过b
我现在发现picture和image在绘图种不同作用,在picture中,采用cls后,然后line,一点也不闪。反之image,无论怎样都不行。
2010-10-15 12:00
举报帖子
使用道具
赠送鲜花
29
3/3页
1
2
3
快速回复:
vb6绘制活动图案-虚拟仪表的指针,每次都要更新背景,太占用系统资源了 ...
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.018041 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved