怎么动态地显示图象啊?请帮忙啊!(100分)

  • 主题发起人 主题发起人 tonii
  • 开始时间 开始时间
T

tonii

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在image控件中画出一副图象,先画出第一行,然后第二、第三。。。。。现在图象显示出来了,但是是一下子就出来,我想图象应该一行一行地显示出来,感觉就像网速很慢时看一张图片,但是不能那么慢,请问要如何解决啊?
 
那你可以采用延時的方法,畫的時候用sleep(需間隔的時間)
 
这个问题和你讨论的是差不多的
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2319403
 
其实我的图象很简单的,就是根据我从文本文件中读取的数据来显示,比如这一行有多少个‘1’,我就显示出多少个红点,这样一行一行画,同时图象往上移动,使我画的图象从底部移入,顶部移出!
 
tonii,
可以换个角度去想:用二个控件遮住后面的image,只露一条缝。image装入完整的图片。
让image在后面由下往上慢慢移动,就好像你说得那种效果了。
:P
 
good idea! 不过不能达到我要的效果,其实我是从串口得到的那样的数据,
然后显示出来,所以这个图象是实时显示的,不可能先画好再显示的!
还有,我在image控件上用canvas画会出现整个image区域变成白色,用刷新也没用,
哪位大哥帮我啊?
 
In a Timer.Timer event, if new data received, draw it on image.
Before drawing, set brush style and color:
Image.Canvas.Brush.Style := bsSolid;
Image.Canvas.Brush.Color := clBtnFace;
Image.Canvas.FillRect(Image.ClientRect);
To showing effect moving from down to up, first draw on bottom, then draw
with decreasing Y position.
 
好像用Timer的方法比较好,或者在Application.OnIdle事件中做处理。
 
多人接受答案了。
 
后退
顶部