GDI+高手请进,GPImage.loadfromstream Png流出错!(35分)

  • 主题发起人 主题发起人 prtmon
  • 开始时间 开始时间
P

prtmon

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
fs:TMemoryStream;
GPGraphics:TGPGraphics;
Stream:TStreamAdapter;
GPImage:TGPImage;
begin
fs:=TMemoryStream.Create;
Stream:=TStreamAdapter.Create(fs,soOwned);
fs.LoadFromFile('plbtn_Over.png');
GPImage:=TGPImage.Create(Stream);
GPGraphics:=TGPGraphics.Create(Image1.Canvas.Handle);
GPGraphics.DrawImage(GPImage,0,0);
Image1.Update;
GPGraphics.Free;
GPImage.Free;
Showmessage('到最后啦');
end;
调试时:
GPImage:=TGPImage.Create(Stream);这句代码出错,跟踪进去发现是TGPImage.loadfromstream出错,只有png文件才会出错,其它格式不出错,用loadfromfile也不会出错,但运行时可正常运行。
但是在界面上加一TWebBrowser控件,一打开网页,再运行这段代码,则直接跳出错误,并不能正确执行到最后,png也不能正确画出来,请高手解答。(分只有这么多了,不好意思)
 
头疼啊,有没有人知道啊?
 
唉,看来高手都不愿意回答啊
 
装个PNG控件,盒子里有
 
我也遇到过同样的问题(Png),可能是调试环境和某些东西冲突,把调试关掉就不会报错了,
还有,编译出来的执行文件没有问题。
 
不关png控件的问题,正常是没有问题,但是放一TWebBrowser并访问一下网页后,就不能运行下去了,直接跳出访问错误了,但有些电脑上又是好的,初步判断是跟浏览器的类型及版本有关,GDIPlues.dll版本都一样的,应该是其它dll版本不一致导致TWebBrowser跟png流文件调入过程有冲突。
 
我用我自己的png 试了一下,编译的时候会跳出cpu 调试窗,但不会报错
你所有的png都是这样吗?

还有,你加载png非的用流吗,否则用loadfromfile 应该就不出问题了吧
 

Similar threads

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