himitsu hat schon den fehler bei L gefunden. jetzt scheinen alle funktionen richtig geschrieben zu sein.
also liegt das problem eher. ich würde mal tippen, dass dein getRvalue/getGvalue/getBvalue nicht richtig funktioniert.
ich würde die funktion getcolor verwenden.
diese liefert dir einen Tcolor wert nach dem schema $00FFEEDD
dabei steht $00 für das höchstwertige byte
Zitat:
[
OH]Hat das höchstwertige Byte den Wert Null, erhalten Sie eine Farbe, die derjenigen in der Systempalette am ähnlichsten ist. Ist das höchstwertige Byte Eins ($01 bzw. 0x01), ergibt das eine Farbe, die derjenigen in der aktiven Palette am ähnlichsten ist. Wenn Sie das höchstwertige Byte auf Zwei ($02 bzw. 0x02) setzen, wird der Wert an die ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts angepasst.[/
OH]
FF ist dein hexadezimalwert für B (hier 255)
DD ist dein wert für G
EE ist dein wert für R
versuchs mal damit. müsste eigentlich klappen