...download a Jpeg Image to Bimap?

Author: Thomas Stutz

Category: Indy

uses Jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;

{ .... }

function DownloadJPGToBitmap(const URL : string; ABitmap: TBitmap): Boolean;
var
  
idHttp: TIdHTTP;
  ImgStream: TMemoryStream;
  JpgImage: TJPEGImage;
begin
  
Result := False;
  ImgStream := TMemoryStream.Create;
  try
    
idHttp := TIdHTTP.Create(nil);
    try
      
idHttp.Get(URL, ImgStream);
    finally
      
idHttp.Free;
    end;
    ImgStream.Position := 0;
    JpgImage := TJPEGImage.Create;
    try
      
JpgImage.LoadFromStream(ImgStream);
      ABitmap.Assign(JpgImage);
    finally
      
Result := True;
      JpgImage.Free;
    end;
  finally
    
ImgStream.Free;
  end;
end;


// Example:
// Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
  
DownloadJPGToBitmap('http://www.sample.com/test.jpg', Image1.Picture.Bitmap);
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base