RGB-Wert zerlegen
-
Über den Color-Dialog werden die Integerwerte für Rot, Grün und Blau angezeigt. Wie komme ich an diese Werte, wenn ich eine Farbe über die Palette ausgewählt habe ?
Denn hier finden de dann Verwendung:
Gdiplus::SolidBrush opaqueBrush(Gdiplus::Color(120, 202, 7, 192));
-
Hi,
also wenn du mit dem ColorDialog eine Farbe gewählt hast, is die so aufgebaut:
der Rot-Wert * 1, der Grün-Wert * 256 und der Rot-Wert * 65536.
Dann kannste die Werte einfach mit Modulo rausrechnen.mfg
Jakel
-
also wenn jakels methode funktioniert nimm diese, weil sie schneller arbeitet
ne alternative bieten die folgenden GDI Funktionen
#include "windows.h" ... TColor myColor; ... int red=GetRValue(myColor), green=GetGValue(myColor), blue=GetBValue(myColor);gruß
neal
-
oder das hier
int rgbcol = ColorToRGB(Color); int rcol = (rgbcol & 0xFF0000) >> 16; int gcol = (rgbcol & 0x00FF00) >> 8; int bcol = rgbcol & 0x0000FF;