VCL und FMX Bitmap funktionieren grundsätzlich anders und sind nicht so einfach kompatibel.
Bei FMX müsste mal TMapAccess nutzen, um Read/Write auf Pixel zu machen.
Vielleicht hilft das, als Gedankenanstoss
https://stackoverflow.com/questions/...l-imaging-pngi
https://docwiki.embarcadero.com/Libr...cs.TBitmap.Map
https://docwiki.embarcadero.com/Libr...cs.TBitmapData
Ich würde versuchen die Kernfunktionen zu isolieren und dann jeweils für
VCL und FMX gesondert zu optimieren.
So viel Aufwand wird das nicht sein und am Ende sollte alles nach Außen schön kompatibel sein.