Häufig wird lediglich aufgrund der Dateiendung entschieden, ob ein JPEG-Bild wirklich ein JPEG ist.
Wesentlich zuverlässiger ist dabei folgende Methode:
Delphi-Quellcode:
uses
SysUtils;
function IsJPEG(const AFileName: String): Boolean;
var
FileHandle: Integer;
Buffer: Word;
begin
FileHandle := FileOpen(AFileName, fmOpenRead);
FileSeek(FileHandle, 0, 0);
FileRead(FileHandle, Buffer, 2);
FileClose(FileHandle);
Result := Buffer = $D8FF;
end;
Jede JPEG-Datei beginnt mit der SOI (Start Of Image) - Anfangsmarke ( FF D8 ).
Daher braucht man lediglich diese 2 Byte auslesen um ein Jpeg zu identifizieren.
Zwar könnte man auch eine andere Datei erstellen, welche so beginnt, diese Methode ist jedoch zumindest zuverlässiger als lediglich die Dateiendung zu prüfen.
[edit=Chakotay1308]Titel angepasst. Mfg, Chakotay1308[/edit]