Gewusst wie: Int verwenden, um die RGB-Farbcode

December 13

Windows-APIs verwenden einen COLORREF eine Farbe darstellen. Der Header windows.h definiert einen COLORREF als DWORD, die eine 32-Bit Int-Datentyp ist. Es gibt mehrere Makros zum Initialisieren und Lesen aus einem COLORREF entworfen, aber können sie auch als int behandelt werden Die Codierung ist unkompliziert, und untersuchen die Makrodefinitionen kann Ihnen zusätzlichen Einblick in die Arbeitsweise mit den Werten.

Anweisungen

1 Bauen Sie einen COLORREF mit roten, grünen und blauen Ganzzahlwerte mithilfe des RGB-Makros:COLORREF MyColor = RGB (255, 255, 0); Gelb

2 Erstellen Sie einen COLORREF explizit mithilfe eine ganzzahlige Konstante. Der Inhalt einer Ganzzahl COLORREF Aussehen im Hexadezimalformat 0x00rrggbb, rr, Gg und bb die rot-, grün- und Blau-Werte sind:COLORREF MyColor = 0x0088FF88; Hellgrün

3 Extrahieren Sie die roten, grünen und blauen Komponenten mithilfe der entsprechenden Makros:BYTE-MyRedValue = GetRValue(myColor);BYTE-MyGreenValue = GetGValue(myColor);BYTE-MyBlueValue = GetBValue(myColor);

Tipps & Warnungen

  • Obwohl Farbreferenzen Ints sind, nicht durchführen arithmetische Operationen auf ihnen jedes nützliche Ergebnis aufgrund der Art und Weise zur Verfügung, die sie codiert sind. Dies bedeutet, dass Sie speziellen Code zum Berechnen Unterschiede oder Durchschnittswerte von Farben schreiben müssen.