游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2298|回复: 6

使用BitBlt处理图片后,如何清空?

[复制链接]

4

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2005-8-27 15:59:00 | 显示全部楼层 |阅读模式
使用BitBlt把图片进行处理后,在pictrue1里显示。如果使用picture1.Refresh能刷新picture1而不显示进行处理过的图片,但问题是我现在在picture1里有两幅图片。如果刷新后,我想保留第一幅。(就是那个圈)只清空那个X,如图所示。该如何做呢?
sf_2005827155928.jpg

4

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2005-8-27 16:10:00 | 显示全部楼层

Re:使用BitBlt处理图片后,如何清空?

如果使用Timer控件进行刷新,那圈就会有闪烁的效果。我不想有闪烁

22

主题

371

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
发表于 2005-8-27 19:07:00 | 显示全部楼层

Re:使用BitBlt处理图片后,如何清空?

三个方法
1、清空后重画圈
2、保存一张既无圈又无叉的背景图,以此图重画p1的叉的部分
3、设p1.autoredraw=true,画圈,设autoredraw=false,画叉,再pi.cls,则只剩圈
方法3参阅MSDN for VS6关于autoredraw的部分,我曾经用这个做过地图编辑器,肯定是可以用的。但好久没用VB6了,次序可能颠倒...

4

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2005-8-27 20:24:00 | 显示全部楼层

Re:使用BitBlt处理图片后,如何清空?

设autoredraw=True
还能画吗?

36

主题

216

帖子

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2005-8-28 15:50:00 | 显示全部楼层

Re:使用BitBlt处理图片后,如何清空?

只有 autoredraw=true 的时候图像才不会闪,如果画不出来,可能是方法不对,你可以把源码发上来,大家帮你解决!

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-8-28 18:17:00 | 显示全部楼层

Re:使用BitBlt处理图片后,如何清空?

有点看不明白楼主的意思 ,是要发原程序上来, 我通常用ME.Refresh 刷新画面.

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2005-8-28 19:34:00 | 显示全部楼层

Re:使用BitBlt处理图片后,如何清空?

每个循环应当重画,不要想着保留某一次绘制结果。

如果用BitBlt绘制想要不闪烁就得把PictureBox的AutoRedraw设为True。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-27 15:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表