Wie sieht das aus?
Delphi-Quellcode:
function LoadGraphic(Filename : string; Bitmap : TBitmap): Boolean;
var
Picture : TPicture;
begin
Result := true;
Picture := TPicture.Create;
try
try
Picture.LoadFromFile(filename);
except
on EInvalidGraphic do Result := false;
end;
try
Bitmap.Assign(Picture.Graphic)
except
on EConvertError do Result := false;
end;
finally
Picture.Free;
end;
end;
Die Erkennung überlasse ich Delphi, das ja dank registrierbarer Formate flexibel ist (z.B. GrapicEx)
€: Bin mir aber beim TS nicht sicher, ob überhaupt erwünscht ist, alle Rastergrafik-Formate als einheitliches TBitmap zu erhalten.
€2: Vor Bitmap.Assign könnte man noch Result checken... muss aber nicht... Bitmap.Assign(nil) ist meiner Erfahrung nach kein Problem.