Ja, damit die Signatur bei [0] beginnt

bei [-1] die eigentliche Länge (ohne die Nullen)
und auf [-2] das Format (hab mir ersparrt das mit einem Record-Array zu bauen (
array of record Format: TImageFormat; Len: Integer; Signature: array[0..7] of Byte; end;
)
Vor allem, da Record-Konstanten sinnlos pervers hässlich sind.
Aber ginge auch mit
array[0..9]
, also [0] das Format, [1] die Länge und ab [2] die Signatur.
Bei einem statischen Array ist die zweite Ebene immer gleich groß, darum mußte aufgefüllt werden,
aber nachfolgend, mit dynamischen Arrays, geht es ohne Füllbytes.
Ein Therapeut entspricht 1024 Gigapeut.