0

我想检查屏幕上的像素是否为红色。我正在使用 allegro 5 。这是我的代码

ALLEGRO_BITMAP *bitmap ;
int x , y;

x=*xIter-20;
y=*yIter;

ALLEGRO_COLOR red_color = al_map_rgb (255,0,0);
ALLEGRO_COLOR new_color = al_get_pixel (bitmap , x , y);

if(new_color==red_color)
    return 1;

但是它报告了一个sytnax错误

错误 C2678:二进制“==”:未找到采用“ALLEGRO_COLOR”类型的左侧操作数的运算符(或没有可接受的转换)

4

2 回答 2

1
unsigned char r,g,b;
al_unmap_rgb(new_color, &r, &g, &b);

bool isColorRed = (r == 255 && g == 0 && b == 0);
于 2013-06-06T10:07:37.743 回答
0

类型没有运算符==ALLEGRO_COLOR需要自己实现。

于 2013-06-06T10:03:01.443 回答