如何把sqlserver2000中的'image'类型字段内容导出到一个IStream变量里? 如何把sqlserver2000中的'image'类型字段内容导出到一个IStream变量里? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://community.csdn.net/Expert/topic/3697/3697056.xml?temp=1.781642E-03 这个我知道,先将图片读取到Tmemory中,再转成istream///////////////我不知道如何将GDI+的TGPImage的SAVE到istream????//////////////////IStream与TStream之间的相互转换procedure TForm1.Button1Click(Sender: TObject);var memoStream,OleStream:TStream; Stream : IStream;begin image1.Picture :=nil; image2.Picture :=nil; //显示初始照片 image1.Picture.LoadFromFile('c:\logo.bmp'); memoStream := TmemoryStream.Create; try //将照片保存为TmemoryStream image1.Picture.Bitmap.SaveToStream(memoStream); memoStream.Position :=0; //将TmemoryStream转成IStream stream:=TStreamAdapter.Create(memoStream); //将IStream转成TOleStream ==TmemoryStream OleStream := TOleStream.Create(Stream); image2.Picture.Bitmap.LoadFromStream(OleStream); finally memoStream.Free; OleStream.Free; end;end;///////////////////////////uses....................AxCtrls,ActiveX; //必加此二单元 stat:=Img1.Save(Stream,clsid,nil); //这句就是不行,STREAM是空白的,晕呀////////////////////////////////////////////////////////////////////////////////var stream: IStream; graphics : TGPGraphics; Img1: TGPImage; Img2: TGPImage; clsid:TGUID; stat:Tstatus;begin try Img1:=TGPimage.Create('d:\d1.bmp'); graphics := TGPGraphics.Create(image1.Canvas.Handle); graphics.DrawImage(Img1,0,0); //按像素显示 GetEncoderClsid('image/bmp', clsid); stat:=Img1.Save(Stream,clsid,nil); //这句就是不行,STREAM是空白的,晕呀 if stat<>ok then showmessage('false'); Img2:=TGPimage.Create(stream); graphics := TGPGraphics.Create(image2.Canvas.Handle); graphics.DrawImage(Img2,0,0); //按像素显示 finally graphics.Free; Img1.Free; Img2.Free; end;end; 关于Delphi编写的DLL中String[255]作为参数在C#里调用接收时的问题 请问如何使动态生成的Button产生onclick事件,不能用绑定的方法 两个问题解决后一个300分一个190分绝不食言 DBGRID的日期格式问题! listbox中取文件大小的问题?! 大家都看过来~~~ 读不懂的语句 高手 Corba服务器吃内存? 我打不开.DBF的数据库? 一个很菜很菜的问题,请大家不要笑话。 delphi读取ini文件(sql配置文件)出错了
这个我知道,先将图片读取到Tmemory中,再转成istream
///////////////
我不知道如何将GDI+的TGPImage的SAVE到istream????
//////////////////IStream与TStream之间的相互转换
procedure TForm1.Button1Click(Sender: TObject);
var
memoStream,OleStream:TStream;
Stream : IStream;
begin
image1.Picture :=nil;
image2.Picture :=nil; //显示初始照片
image1.Picture.LoadFromFile('c:\logo.bmp');
memoStream := TmemoryStream.Create;
try
//将照片保存为TmemoryStream
image1.Picture.Bitmap.SaveToStream(memoStream);
memoStream.Position :=0; //将TmemoryStream转成IStream
stream:=TStreamAdapter.Create(memoStream); //将IStream转成TOleStream ==TmemoryStream
OleStream := TOleStream.Create(Stream);
image2.Picture.Bitmap.LoadFromStream(OleStream);
finally
memoStream.Free;
OleStream.Free;
end;
end;
///////////////////////////uses....................AxCtrls,ActiveX; //必加此二单元
////////////////////////////////////////////////////////////////////////////////
var
stream: IStream;
graphics : TGPGraphics;
Img1: TGPImage;
Img2: TGPImage;
clsid:TGUID;
stat:Tstatus;
begin
try
Img1:=TGPimage.Create('d:\d1.bmp');
graphics := TGPGraphics.Create(image1.Canvas.Handle);
graphics.DrawImage(Img1,0,0); //按像素显示 GetEncoderClsid('image/bmp', clsid); stat:=Img1.Save(Stream,clsid,nil); //这句就是不行,STREAM是空白的,晕呀 if stat<>ok then
showmessage('false'); Img2:=TGPimage.Create(stream); graphics := TGPGraphics.Create(image2.Canvas.Handle);
graphics.DrawImage(Img2,0,0); //按像素显示
finally
graphics.Free;
Img1.Free;
Img2.Free;
end;
end;