站长资源网络编程

IStream与TStream之间的相互转换

整理:jimmy2024/10/30浏览2
简介procedure TForm1.Button1Click(Sender: TObject); var memoStream,OleStream:TStream; Stream : IStream; begin image1.Picture :=
  
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;    //必加此二单元