COLORREF为RGB或十六进制
COLORREF as RGB or hexadecimal
我的当前代码从当前光标位置读取GetPixel
,但返回值只是COLORREF
的一些疯狂值,我希望它在RGB
中。我查看了微软参考,我找到了RGB
宏
COLORREF RGB(
BYTE byRed,
BYTE byGreen,
BYTE byBlue
);
和我的问题是我应该如何使用从GetPixel
返回到这个RGB
函数,然后打印值?当前代码:
include <Windows.h>
include <wingdi.h>
include <iostream>
pragma comment(lib, "gdi32.lib")
int main() {
while (true) {
HDC hDC;
hDC = GetDC(NULL);
POINT p;
GetCursorPos( & p);
int cx = p.x;
int cy = p.y;
std::cout << GetPixel(hDC,cx,cy) << std::endl;
Sleep(5);
}
}
GetPixel()
函数返回COLORREF
,您可以将其转换为RGB
值,如下所示:
COLORREF color = GetPixel(hdc, x, y);
RGBTRIPLE rgb;
rgb.rgbtRed = GetRValue(color);
rgb.rgbtGreen = GetGValue(color);
rgb.rgbtBlue = GetBValue(color);
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- 为什么mpfr_printf与十六进制浮点(%a转换说明符)的printf不同
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 指向存储在字符串 c++ 中的十六进制
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- C ++如何使用UTF8十六进制代码打印UTF8符号?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 如何在C++中将十六进制字符串转换为文本数据
- 使用 sprintf 将十六进制0xAABBCC转换为字符串"AA:BB:CC"
- 为什么我的 RGB 转十六进制函数在传递颜色分量时返回 0
- 将 RGB 转换为十六进制C++
- c++修剪并填充十六进制的无符号int,用于#RGB值
- COLORREF为RGB或十六进制
- 如何在c++中将RGB颜色值转换为十六进制值
- 从十六进制字符串颜色到RGB颜色