首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi展示多张图片

2013-07-01 
delphi显示多张图片 image1.Picture.LoadFromFile(fList.ListBox1.Items[index])fMain.Canvas.Draw(0,0,I

delphi显示多张图片
 image1.Picture.LoadFromFile(fList.ListBox1.Items[index]);
    fMain.Canvas.Draw(0,0,Image1.Picture.Graphic);
显示到第十三第十四张出现AccessViolation 
错误。。
每张相有4M
[解决办法]

引用:
问题可能出在 LoadFromFile 后面紧跟着 Draw。装载需要一定时间。LoadFromFile 是异步函数,它返回时有可能加载还未完成,这时候 Draw 就会出问题。不妨把 Draw 放在 TImage 的一个事件例程中试试,例如 OnChange, OnProgress 这类事件。

同意。。还有你控件的命名看得让人头晕,建议用匈牙利命名!
[解决办法]
另外,你的图片似乎没必要重绘一遍。直接用一个 TImage 对象在窗口上全覆盖,然后把图片加载给它就行了。

再一点,如果图片不太多,而且可以事先确定,也可用若干 TImage 对象(如果图片都一般大,还可用 TImageList)把图片预存起来编译进 EXE 文件中。这样处理起来能快很多。
[解决办法]
有问题的图片的模式都有问题,即正常的为RGB,而有问题的都是CMYK格式的图片。
CMYK图片如果宽度超过SCREEN的宽度较多时,就会出错。

热点排行