IStream与TStream之间的相互转换
author:一佰互联 2019-05-01   click:155
  
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;    //必加此二单元