Einzelnen Beitrag anzeigen

completestranger

Registriert seit: 7. Okt 2018
25 Beiträge
 
#5

AW: Sichere Erkennung von PNG bzw. JPG?

  Alt 16. Mär 2022, 08:29
Ich mach das immer so:

Delphi-Quellcode:
const
  jpg: array[0..2] of byte = ($FF, $D8, $FF);
  png: array[0..2] of byte = ($89, $50, $4E);
  gif: array[0..2] of byte = ($47, $49, $46);

...

var
  buf: array [0..2] of byte;
  ...
begin
  ...
  stream.Seek(0, soFromBeginning); // stream.Position := 0;
  stream.Read(buf, SizeOf(buf));
  if (stream.Size > 0) then begin
    if CompareMem(@buf, @jpg, SizeOf(buf)) then begin
      bildtyp := btJPEG // JPG
    end else if CompareMem(@buf, @png, SizeOf(buf)) then begin
      bildtyp := btPNG // PNG
    end else if CompareMem(@buf, @gif, SizeOf(buf)) then begin
      bildtyp := btGIF // GIF
    end else
      result := false;
  end;
  stream.Seek(0, soFromBeginning);
  ...
  Mit Zitat antworten Zitat