IStream与TStream之间的相互转换
程序员文章站
2022-05-07 10:27:21
...
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
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; //必加此二单元