Ja, TWICImage unterscheidet intern und kommt mit mehreren Grafikformaten zurecht.
Ich wüsste nicht
warum dass es
DirectX benötigt, aber wenn in einem Thread oder Consolen-Anwendung, da darf man das CoInitialize nicht vergessen, weil das ist nötig.
TImage/TPicture-LoadFromStream nutzt jetzt den Dateiheader (MagicBytes) für die Unterscheidung (seit Kurzem).
Früher wurde nur über die Dateiendung der Typ erkannt, weswegen man unterschiedliche Bilder nur mit LoadFromFile in TImage/TPicture laden konnte (oder vorher manuell unterscheiden mußte welches TGrafic man verwenden muß).
Image.Picture.LoadFromStream
sollte im 10.3 nun egal sein was für eine Datei im Stream/Blob liegt und es schnappt sich dann die passende TGrafic-Klasse, unter anderem auch das TWICImage.