Moin!
Experience1986 hat folgendes geschrieben: |
Ich kann leider nur ein gewisses Farbspektrum mit dieser Methode darstellen |
Reichen ungefähr 16,7 Millionen Farben nicht?

(ja, für die Besserwisser, bei der Methode ist der Farbraum auch eingeschränkt, ich weiß; andererseits zeige man mir einen "Färbungs-Algo", der diese Einschränkung nicht hat!)
Also, hier:
Delphi-Quelltext
1:
| Gr := Trunc(B*0.11+G*0.59+R*0.3); |
berechnest du den Grauwert, oder eben die subjektive Helligkeit. Jetzt nimmst du eine beliebige Farbe, zerlegt in ihre Bestandteile (rneu,gneu,bneu). Anstatt:
Delphi-Quelltext
1:
| Pixels[x,Y]:=RGB(Gr,0,0); |
zu setzen, kannst du doch auch den Grauwert als maximale Helligkeit absolut ansetzen:
Delphi-Quelltext
1:
| Pixels[X,Y] := RGB(Trunc(rneu*Gr/255),Trunc(gneu*Gr/255),Trunc(bneu*Gr/255)); |
wobei du hier die Helligkeit der neuen Farbe ausser acht läßt. Alternativ könnte man noch mit der subjektiven Helligkeit der neuen Farbe skalieren und damit "helligkeitsrichtig" färben, aber das kannste dann auch selbst rausfinden.
cu
Narses