Och menno, TBitmap.SetPixelFormat sagt, dass bei 4 Bit immer die Palette im SystemPalette16 überschrieben wird.
Delphi-Quellcode:
Pal := FImage.FPalette;
case Value
of
// Copy Palette to prevent holding the same handle as SystemPalette16,
// which would cause problems with the undetermined sequence of
// finalizers in .NET
pf4Bit: Pal := SystemPalette16;
Gut, das ist eine globale in
Vcl.Graphics und ich könnte die mal kurz austauschen,
oder ich nehm erstmal den Code-Teil mit 4Bit von SetPixelFormat, zusammen dem Code der SystemPalette16 erstellt und versuch vor/statt dem PixelFormat:=pf4Bit das mit einer eigenen Palette,
denn .Net kann mich mal.