【发布时间】:2015-11-24 15:59:08
【问题描述】:
我正在编写一个简单的程序来读取特定位置的像素并获取其单独的 R、G 和 B 值以进行进一步处理。 我可以读取 R 和 G 值,但读取 B 值时出现错误。
这是我的完整代码供参考:
#include <iostream>
#include<Windows.h>
using namespace std;
int main(){
int d;
HDC dc = GetDC(NULL);
COLORREF rcolor = GetRValue(dc, 1, 1);
COLORREF gcolor = GetGValue(dc, 1, 1);
COLORREF bcolor = GetBValue(dc, 1, 1);
ReleaseDC(NULL, dc);
cout << rcolor << endl;
cout << gcolor << endl;
cin >> d;
}
我在这一行遇到错误:
COLORREF bcolor = GetBValue(dc, 1, 1);
这是错误:
#define GetBValue(rgb) (LOBYTE((rgb)>>16))
Error: expression must have integral or unscoped enum type
我尝试在颜色上下文中搜索此错误,但找不到任何合适的解决方案。
【问题讨论】:
标签: c++ visual-c++ enums getpixel