请问高手:delphi中load一张超大BMP(5000x5000)时就会报错(100分)

  • 主题发起人 主题发起人 officegod
  • 开始时间 开始时间
O

officegod

Unregistered / Unconfirmed
GUEST, unregistred user!
有如下代码:
Image1: TImage;
..............
Image1.Picture.LoadFromFile( OpenDialog1.FileName );
...............
当图片大于5000x5000时就会报错“system error.code: 8,Not enouth storage is avaliable to process this command”.经跟踪,就在loadfromfile那一行报的错,
请问是不是delphi不支持超大图片的加载,这种方法应该如何解决。
图片是256色的BMP,delphi7下调试。
 
没试过,有可能是TImage类的限制。
 
5000*5000,系统都要崩溃.......
 
对,系统的限制。
再说了,这么大图片想一次装载!相当于25M啊
 
(5000*5000*1)/(1024*1024)=23.84M的数据,数据量太大了吧
用内存流读取,然后自己绘制BMP数据看看,就是比较麻烦
 
建议使用 C++游戏编程思路中的大图分块装入IMGE,再使用大图缩略!
 
用ImageEn试试
 
谢谢各位的关注,由于有其他项目要做,这么久才来看大家的回复。
用ImageEn可以实现5000X5000的BMP,但是图片再大一些,就会感觉速度慢。
分块装入、Stream流的方法正在测试中,稍后我会将积分分配给大家的,
谢谢。
 
我也遇到这种问题,如果解决图形的缩放呢?关注中.
 
后退
顶部