关于图像快速显示的问题!可以灌水!(100分)

  • 主题发起人 主题发起人 silicon
  • 开始时间 开始时间
S

silicon

Unregistered / Unconfirmed
GUEST, unregistred user!
功能说明:有300多张歌星小图片,每个图片大小在3K-10K左右。写一个程序,每页显示
八个图片,可以上下翻页。我采用多种方法,都不能得良好的效果,因为程序要在赛扬266这
类档次的机器上运行。
我采用过页面预读的方法来做,显示出来很快,但是快速翻页就不行了。
我现在考虑将所有的图片调入内存(全部图片大小不到3M)。这种方式应该怎么实现呢?
求解!

 
要是觉得分数不够可以说嘛!别只看不回答。
 
加大内存,或升级
 
写入资源文件怎样?
虽然我没有试过,不过我想好象应该可以把。
 
建一个动态数组如:array of Tbitmap;
象ASDSEE那样,后台预读
 
To 蒋劲刚
用array of Tbitmap;虽然可以,但是要占用系统除非外其他和资源又太多。
用TStreamFile又需要太多的句柄。有没有办法把所有图像做成一个文件,然后需要是再
分割
 
当然可以,用一个TMEMORYSTREAM来存预读的图像,用一个屏幕上要显示的图象数的TMEMORYSTREAM数据组
来存要显示的图象(从TMEMORYSTREAM中读出来的),图象显示控件从各个TMEMORYSTREAM中来读数据。
这样只要 屏幕上的图像数+1个TMEMORYSTREAM就可以了
 
这些兄弟真不够义气,一个都不帮我,还是我自己想出一个美好的办法。
办法如下:将所有的小图片合成一个大的,保存到一个Bitmap.Canvas上。
再从大的Canvas中CopyRect一个小图片到显示的页面上。
 
这么小的图片,将它写进数据库不就完事了吗?
 
同意楼上的,写入数据库里试试。
 
存放在ACCESS数据库中,使用TDBCtrlGrid+DBImage显示,
还有在程序员大本营中有象ACDSEE那样的控件,如果要请发EMAIL
 
这么小的家伙,临时调出来也不会满啊.
我们可都是处理几兆的啊.
 
TO: 崔占东
要!请发到我的danzzg@sina.com吧!多谢了!
 
如果是强调速度的话,图片不大,可以采用制作为res文件。
 
用一个bitmap数组就搞定了。
 
看来只有这样了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部