Hallo Jens,
jetzt wird es ein bisschen mathematisch-programmtechnisch, aber du hast es ja so gewollt 
Die rgbcolor das ist ein Long (also eine 32-Bit Ganzzahl) in der ein 24-Bit Farbwert (also Truecolor) codiert ist. Ein solcher Echtfarbwert setzt sich aus den drei Komponenten Rot (r), Grün (g) und Blau (b) zusammen, und zwar kann jede dieser Grundfarben 256 verschiedene Farbintensitäten annehmen.
Der Anteil von R, G oder B lässt sich also durch ein Byte (=8 Bit = 256 Nuancen) darstellen. Um einen RGB-Wert in Long zu codieren werden jetzt einfach diese drei Byte-Werte hintereinander geschrieben, so dass ein 3-Byte Wert entstehen würde ... da es das computertechnisch nicht gibt wird eben ein Long (4-Byte) genommen und das obere Byte darin einfach ignoriert.
Die restlichen Teilbyte geben dann die RGB-Werte an, in Hexadezomal geschrieben also &H00RRGGBB, d.h. Bit 0-7 ist Blau, Bit 8-15 ist Grün und Bit 16-23 ist Rot. Umalso aus deinen einzelnen Rot-, Grün- und Blauwerten einen RGB-Wert zu machen entsprechend multiplizieren und addieren:
rgbwert = Rot * 65536 + Gruen * 256 + Blau
Umgekehrt am einfachsten per AND-Maskierung:
Rot = rgbwert AND &HFF0000 / 65536
Gruen = rgbwert AND &HFF00 / 256
Blau = rgbwert AND &FF
Ich hoffe, du bist jetzt nicht noch verwirrter als vorher 
Ciao,
Stefan
------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP