如何实现图象的递进显示(300分)

  • 主题发起人 主题发起人 陈冲伟
  • 开始时间 开始时间

陈冲伟

Unregistered / Unconfirmed
GUEST, unregistred user!
TGraphic提供了一个OnProgress时间, 可以利用该事件实现图象的递进显示吗? (类似于
AcdSee的那种)
 
怎么个递进?
 
应该可以按位图的生成速度来依次自上而下显示的。
 
应该可以!
 
To wangxd:
就是利用OnProgress事件中的Redraw和Rect参数, 在图像还没有完全载入的时候, 画
出已经载入的部分图像. 我的基本想法是这样, 但是不知道具体怎么实现.
 
有啊,
两个办法:1 Tbitmap 一次调入,用一个循环逐步画到 image 上
2 自己读 bmp 文件,一边读出一边画啊
 
To GGCAT:
我主要希望利用OnProgress事件来实现这一点, 因为这样别人使用我的控件时可以采用
比较一致的编码.
 
使用 OnProgress 好象有问题吧,我刚才仔细的查看了
Tpicture 和 Tgraphic 的OnProgress 根本就只定义了,但是没有使用
和触发过。我也在程序中实验了,在任何情况下(LoadFromFile,Assign,LoadFromStream)
都不会产生事件,真是奇怪了。bug ?

 
OnProgress?
不行吧,你可以用它知道图象被调出了多少,但这与显示多少不成正比。
至于没有触发,可能是因为太快了吧,我觉得它内部有一个时钟限制,
每过一段时间就检查进度,若没完成,则触发事件。
好象TWebbrowser就是这样。


我觉得要递进显示至少要先把图象完全调入再用程序处理。

 
To GGCAT:
Delphi提供的TGraphic是不调用OnProgress的, 只是给其派生类提供了一个接口,
Delphi的TJpegImage就实现了这个接口的. 但是我不知道如何利用它.
 
陈冲伟:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
继续!继续!
 
多人接受答案了。
 
后退
顶部