Hallo E.B.,
der negative Farbwert ist okay, der ist auch schon vorher da. Du hast zwar mit
RGB-Werten operiert, aber die belegen nur die unteren 3 Bytes eines 4-Byte Integers (TColor). Wenn das höchst-wertige Byte $FF ist, dann sind die anderen drei Byte kein
RGB-Wert sondern eine Systemfarbe. Und das dein Text nicht ausgegeben wird, das kannst du mit Canvas.TextOut() ändern.
Grüße vom marabu