我正在尝试使用Delphi XE4将png图像加载到TImage中。 png从一个流开始:例如
Stream := TMemoryStream.Create;
try
Stream.LoadFromFile('c:\file.png');
Stream.Position := 0;
Image1.Picture.Graphic.LoadFromStream(Stream);
finally
Stream.Free;
end;
运行此代码时,我得到了一个AV。谁能告诉我我做错了什么?
感谢。
答案 0 :(得分:19)
TImage.Picture.Graphic
属性为零,直到您将图形加载到Picture
。
您要求的内容可以通过以下方式实现:
uses pngimage;
Stream := TMemoryStream.Create;
try
// obtain png image, load from file or other..
....
Image := TPngImage.Create;
try
Stream.Position := 0;
Image.LoadFromStream(Stream);
Image1.Picture.Graphic := Image;
finally
Image.Free;
end;
finally
Stream.Free;
end;