TPicture hat seit ein paar wenigen Jahren endlich auch in der LoadFromStream einen Code drin, welcher die Magic-Bytes prüft,
entsprechend dem CanLoadFromStream. (für alle TGraphic-Typen, welche registriert sind, also wo die Units eingebunden sind)
Früher ging LoadFromStream immer nur beim "richtigen" Graphic-Typen
und nur im LoadFormFile war eine Prüfung der Dateiendung drin.
Leider war mal wieder einer der Entwickler dermaßen asozial und hat alles in der Implementation versteckt
und bietet keinen direkten Zugriff auf FileFormats, bzw.
TheGraphicsClass := FileFormats.FindFormat(YourStrem); {if Assigned(TheGraphicsClass) then} YourFileExtension := GraphicExtension(TheGraphicsClass);
PS:
GraphicExtension, was auch auf der "geheimen" Liste "FileFormats" basiert, über welche TImage/TPicture und die TGraphic's sich intern verwalten.