Казалось бы магия TP Хитрая обработка изображений для произвольных форматов изображений на самом деле очень проста (если не сказать грубая). Загрузка из файлов зависит от расширения файла. Загрузка из буфера обмена - по индикатору формата буфера обмена. Увидеть? Всегда есть тег формата, который инструктирует TPicture, какой TGraphicClass использовать с данными, а сам базовый класс TGraphic не предоставляет механизма для идентификации «собственных» потоков данных, кроме метода проб и ошибок. Может быть любопытно, как TPicture загружает себя из потока DFM, но это не исключение, здесь приведен соответствующий отрывок из реализации (авторский код предоставлен только для иллюстративных целей):
procedure TPicture.ReadData(Stream: TStream);
var
{...}
GraphicClass: TGraphicClass;
LClassName: string;
LBytes: TBytes;
LNameLen: Byte;
begin
Stream.Read(LNameLen, 1);
SetLength(LBytes, LNameLen);
Stream.Read(LBytes{$IFNDEF CLR}[0]{$ENDIF}, LNameLen);
LClassName := TEncoding.UTF8.GetString(LBytes);
GraphicClass := FileFormats.FindClassName(LClassName);