检查像素颜色Allegro 5 C ++

时间:2013-06-06 09:49:45

标签: c++ allegro5

我想检查屏幕上的像素是否为红色。我正在使用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'类型的操作数(或者没有可接受的   转化率)

2 个答案:

答案 0 :(得分:1)

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

bool isColorRed = (r == 255 && g == 0 && b == 0);

答案 1 :(得分:0)

==类型没有运营商ALLEGRO_COLOR,您自己需要它。