Thema: Delphi JPG zu Bitmap

Einzelnen Beitrag anzeigen

Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

JPG zu Bitmap

  Alt 9. Jun 2006, 15:32
Hi,

in meinem Programm will ich einen JPG in eine TImage laden:

Delphi-Quellcode:
function DownloadJPGToImage(AURL: String; AImage: TImage): Boolean;
var lGiveback : Boolean;
    lHTTP : TIdHTTP;
    lDstStream: TStream;
    lGraphic : TJPEGImage;
begin
  lHTTP := TIdHTTP.Create(nil);
  lDstStream := TMemoryStream.Create;
  lGraphic := TJPEGImage.Create;
  try
    lHTTP.Get(AURL, lDstStream);
    lDstStream.Position := 0;
    lGraphic.LoadFromStream(lDstStream);
    AImage.Picture.Graphic := lGraphic;
    lGiveback := True;
  except
    lGiveback := False;
  end;
  lGraphic.Free;
  lDstStream.Free;
  lHTTP.Free;
  result := lGiveback;
end;
(Danke an SirThornberry)

Nun will ich die Größe des Bildes verkleiner (NIE vergrößern):

Delphi-Quellcode:
procedure ResizeImage(newWidth, newHeight: integer; Image: TImage);
begin
  Image.Canvas.StretchDraw(Rect(0,0,newWidth,newHeight), Image.Picture.Graphic);
  Image.Picture.Graphic.Width := newWidth;
  Image.Picture.Graphic.Height := newHeight;
end;
Nun sagt Delphi, dass es nur eine Image mit Bitmap ändern kann...

Wie ändere ich jetzt die JPG (schon im Image) in eine "brauchbare" weiße für die ResizeImage-Prozedur?
  Mit Zitat antworten Zitat