PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann man einen RGB Wert in eine 4-Byte-Hexadezimalzahl umwandeln?


Gast
2004-12-13, 10:42:59
Hi,
ich aus einer Textdatei Farbewerte von 0.0 bis 1.0.
Diese möchte jetzt der PaintBox zuweisen. Wie funktioniert dies?
Die Eigenschaft Color erwartet einen TColor Objekt:

Beschreibung

Wenn Sie zur Festlegung von TColor nicht die Konstanten aus der Unit Graphics, sondern eine 4-Byte-Hexadezimalzahl verwenden, geben die drei niederwertigen Bytes die RGB-Farbintensität für Blau, Grün und Rot an. Der Wert 0x00FF0000 entspricht einem reinen Blau mit voller Intensität, der Wert 0x0000FF00 einem reinen Grün und der Wert 0x000000FF einem reinen Rot. 0x00000000 gibt Schwarz und 0x00FFFFFF Weiß an.

Hat das höchstwertige Byte den Wert Null (0x00), erhalten Sie eine Farbe, die derjenigen in der Systempalette am ähnlichsten ist. Ist das höchstwertige Byte Eins (0x01), ergibt das eine Farbe, die derjenigen in der aktuell realisierten Palette am ähnlichsten ist. Wenn Sie das höchstwertige Byte auf Zwei (0x02) setzen, wird der Wert an die ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts angepaßt.

Ich verstehe nun nicht ganz, wie ich die RGB koordinaten umrechnen muss.

[€dit bei Crushi]
Auf Wunsch /CODE durch /QUOTE erstezt.

Gast
2004-12-13, 10:45:10
Könnte ein Mod den Text bitte richtig formatieren?

noid
2004-12-13, 10:58:59
http://root.cern.ch/root/html/TColor.html

die farbwerte gehen von 0h bis ffh. das enspricht 0d bis 255d.
du hast werte von 0 bis 1.0 - 3 satz.