Hallo, ich habe ein Problem mit folgender Funktion, die mir ein Bild laden soll und es verkleinert an ein TImage übergeben soll:
Delphi-Quellcode:
procedure TVSForm.BildLaden(BDName: String; BMP: TBitmap);
var JPG: TJpegImage;
TmpBMP: TBitmap32;
begin
TmpBMP := TBitmap32.Create;
try
if ((AnsiLowerCase(ExtractFileExt(BDName)) = '.jpg') or (AnsiLowerCase(ExtractFileExt(BDName)) = '.jpeg')) then
begin
JPG := TJpegImage.Create;
try
JPG.LoadFromFile(BDName);
TmpBMP.Assign(JPG);
finally
FreeAndNil(JPG);
end;
end
else if (AnsiLowerCase(ExtractFileExt(BDName)) = '.bmp') then
TmpBMP.LoadFromFile(BDName);
TmpBMP.SetSize(188, 142);
BMP.Assign(TmpBMP);
finally
FreeAndNil(TmpBMP);
end;
end;
//Aufruf
BildLaden('Name', VSBild.Picture.Bitmap);
allerdings wird nur ein komplet schwarzes Bild übergeben, sonst keine Fehler.
auch wenn ich direkt Bitmap32.LoadFromFile -> SetSize -> SaveToFile ausführe, ist das Ergebnis schwarz, es sollte also nicht an der Art der Übergabe meiner Prozedure liegen.
Aber woran könnte es dann liegen?