.. du könntest bei TMemoryStream bleiben.
Delphi-Quellcode:
type
TPictureTyp = (pw_None, pw_BMP, pw_JPG, pw_PNG);
function PictureTyp_pruefen(const imageStream: TMemoryStream): TPictureTyp;
var
Buffer : Word;
begin
imageStream.Read(Buffer,2);
//High-Byte und Low-Byte im Buffer tauschen
//(dadurch stimmt die Byte-Anordnung wieder mit der in der Bild-Datei überein)
Buffer := Swap(Buffer);
//Prüfung ob BMP, JPG oder PNG
case Buffer of
$424D: Result := pw_BMP;
$FFD8: Result := pw_JPG;
$8950: Result := pw_PNG;
else
Result := pw_None;
end;
end;
Nur sehe ich in Deinem Code nicht, wie der MemoryStream "lmstImage" gefüllt wird.
Grüße
Klaus