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?