Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Grafik / Sound / Multimedia (https://www.delphipraxis.net/21-library-grafik-sound-multimedia/)
-   -   Delphi Prüfen, ob Datei ein JPEG ist (https://www.delphipraxis.net/74576-pruefen-ob-datei-ein-jpeg-ist.html)

Hador 5. Aug 2006 13:35


Prüfen, ob Datei ein JPEG ist
 
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]


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz