怎么把PNG图片流数据转入TImage中? ( 积分: 100 )

  • 主题发起人 主题发起人 allen72
  • 开始时间 开始时间
A

allen72

Unregistered / Unconfirmed
GUEST, unregistred user!
安装了GraphicEx9.9.
比如:
image1 是 TImage.
TOU 是tmemorystream 变量,里面有一个PNG图片的流数据,
可以 tou.SaveToFile('c:/aaaaa.png'); 保存到文件 ,保存的文件也可以用
image1.Picture.LoadFromFile('c:/aaaaa.png'); 读入.
可是image1.Picture.Graphic.LoadFromStream(tou); 就出错.

怎么直接转过来..而不用这样存一下..再读一下?
 
安装了GraphicEx9.9.
比如:
image1 是 TImage.
TOU 是tmemorystream 变量,里面有一个PNG图片的流数据,
可以 tou.SaveToFile('c:/aaaaa.png'); 保存到文件 ,保存的文件也可以用
image1.Picture.LoadFromFile('c:/aaaaa.png'); 读入.
可是image1.Picture.Graphic.LoadFromStream(tou); 就出错.

怎么直接转过来..而不用这样存一下..再读一下?
 
现在如果image1预先设了一个图片.
就可以 image1.Picture.Graphic.LoadFromStream(tou);
 
当然不行啊 Timage又不认识PNG格式

你找个PNGIMAGE控件,先用他读png的流,然后在添到image里

var
png:Tpngobject;
begin
png:=Tpngobject.Create;
png.LoadFromStream(stream);
image1.Picture.Assign(png);
png.Free;
end;
 
我安装GraphicEx9.9了..
image1.Picture.LoadFromFile('c:/aaaaa.png'); 可以显示出图片了啊
 
GraphicEx......没用过。。
 
哪你用哪一个PNG的控件? 哪里有下?
 
tou.position:=0;
image1.Picture.Graphic.LoadFromStream(tou);
 
to:cjianwen
image1如果原来没有load一个PNG图片文件.这样运行时出错..如果
image1原来有load一个PNG图片文件.LoadFromStream(tou) 就不会出错! 好象要预先分配空间?
 
我用pngimage

下载:http://www.delphifans.com/SoftView/SoftView_507.html
 
hs-kill的 pngimage 控件 加上
var
png:Tpngobject;
begin
png:=Tpngobject.Create;
png.LoadFromStream(stream);
image1.Picture.Assign(png);
png.Free;
end;
解决问题了
 
后退
顶部