检查像素颜色Allegro 5 C++。

问题描述 投票:0回答:2

我想检查屏幕上的一个像素是否为红色。我使用的是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'类型左手操作数的操作符(或没有可接受的转换)。

c++ allegro5
2个回答
1
投票
unsigned char r,g,b;
al_unmap_rgb(new_color, &r, &g, &b);

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

0
投票

没有操作符 == 对于 ALLEGRO_COLOR 型,你需要自己去实现它。

© www.soinside.com 2019 - 2024. All rights reserved.