RGB array
-
ich möchte gerne ein array haben,
in dem ich rgb werte also z.b.RGB(0,170,0)speichern kann
habs auch schon als vector probiert.
bekomms aber irgendwie nicht hin
-
RGB ist nur ein macro.
Dir wird nichts anders übrig bleiben als in deinem array unsigned long zu speichern. z.b.unsigned long colors[20]; colors[0]=RGB(0,170,0); colors[1]=RGB(170,0,170);Kurt
Ich glaube es gibt da eine typedef COLORREF für unsigned long.
-
class CRGB { public: CRGB(int Rot, int Gruen, int Blau); ~CRGB(); int m_Rot; int m_Gruen; int m_Blau; }; CRGB::CRGB(int Rot, int Gruen, int Blau) { m_Rot = Rot; m_Gruen = Gruen; m_Blau = Blau; } CRGB::~CRGB() { } std::vector<CRGB> vRGB; #define RGB(a, b, c) vRGB.push_back(CRGB(a, b, c))Sollte Funktionieren..
EDIT:
Tippfehler ausgemertzt...
-
@ Darklord: Die Idee mit der CRGB-Klasse finde ich nicht schlecht.
Damit man mit der Klasse aber vernünftig arbeiten kann würde ich noch eine Konvertierung nach COLORREF einbauen. Ungefähr so.operator COLORREF () { return RGB( m_Rot, m_Gruen, m_Blau ); }Dann könnte man deine Klasse auch überall dort einsetzen wo eine COLORREF benötigt wird.
zBCRGB blueColor(0, 12, 255); CPen PenBlue; // Blue solid pen width = 1 PenBlue.CreatePen(PS_SOLID, 1, blueColor);Kurt
PS: deinen macro RGB finde ich unnütig ( soll aber wahrscheinlich auch nur ein Anwendungsbeispiel sein
).
-
hat geholfen
thx!