显示图片用picture 读取100m左右bmp图像时速度很慢
高手解决  在线等  测试通过马上结贴  过程请尽量详细~急需~
谢谢

解决方案 »

  1.   

    不好意思  表达有问题
    背景是一个PICTUREBOX  作为容器   
    PICTUREBOX上面有很多个IMAGE控件   要做成类似WINDWOS缩略图的形式
    大概5M大小的图片   20张左右的时候  大概要30秒左右才能显示出来 速度很慢
    请问大家有什么好的解决方法吗   什么格式的都有BMP JPG-_-b
      

  2.   

    5M的图片也是很大的了,加载速度慢是没办法的
    loadpicture是很快的了
      

  3.   

    但是windows预览 5M图像的时候 速度是很快的
    我就想做到WINDOWS的效果
    现在发现有图片的文件夹下面  会有一个Thumbs.db 文件  是不是windows把缩略图都放到这里了?大家帮帮阿
      

  4.   

    Windows第一次也不是很快的,是再打开才快的
    你可以考虑把缩略图存储成文件的方式,下次读就读你存储的缩略图文件
      

  5.   

    [url=http://blog.csdn.net/downmoon/archive/2009/06/04/4241315.aspx ][/url]
      

  6.   

    [url=http://blog.csdn.net/downmoon/archive/2009/06/04/4241315.aspx ][/url]
      

  7.   

    把原图切割成若干小图,先load前几张显示,后台load其他图片
      

  8.   

    用PHOTOSHOP作切片,再一张张显示,类似网页上的大图片打开的原理
      

  9.   

    如果你能确定只是BMP格式,我有一个思路,可以让你读取速度提高.具体:先取得你要显示的那个图片框的大小,然后计算象素值,从BMP里面提取所需要显示那些象素即可.也就是说,有个图是1280X1024的,而你的缩略图是128X102的,那就读的时候,X方向在原图中每9象素才读入,Y也是.这样的话总共需要读取的象素与要显示的图象的象素是相符合的,怎么样也慢不了了.但此思路有个缺点,就是需要了解被读取图象的格式.而你的情况是BMP,那就简单很多了,几百兆也不成问题,哈.
      

  10.   

    这思路ACDSEE等软件估计也有想过,但是数以千记的文件格式肯定会巨头痛,因此没使用这招吧.
      

  11.   

    保存缩略图就可以了。看看 Windows 怎么做的:
    1)将窗口调整成一次显示10左右张缩略图的大小。
    2)先切换成普通的视图,将图片文件反复复制,大约100个左右就可以了。
    3)删除 Thumbs.db。
    4)再切换成“缩略图”视图:
    如果图片文件够大,你会发现先显示几个方框,然后缩略图逐个显现;
    5)马上拖动到窗口底部,也是先显示几个方框,然后缩略图逐个显现;
    6)马上拖动到中间部分,也是先显示几个方框,然后缩略图逐个显现;
    7)等足够的时间(硬盘灯不闪了),随意滚动窗口都能立即看到缩略图。是在第一次时生成缩略图,生成次序默认按照排列的文件次序,如果有浏览的需要,会将当前浏览的缩略图生成次序提到前面来。
      

  12.   

    100M的图片,光数据量就是一个问题, 想象一下光是把这么一个文件读进内存就应该是不短的时间了吧.不过楼主的图片格式是BMP, 还是有一点机会提高显示速度的.
    楼主需要针对BMP文件格式作分析, 再从楼主的图片尺寸来开,应该是24位色的真彩图片. 
    像素值约为3千万. 已经远超过一般显示器能显示的大小了.
    因此楼主可以从BMP数据区截取需要显示的那一部分数据,再把他们画到PICTURE控件上去.
    至于如何截取,是将图片分块显示,还是跳着读数据将图片缩小显示,那就得靠楼主自己手工代码了.