【问题标题】:Checking pixel color Allegro 5 C++检查像素颜色 Allegro 5 C++
【发布时间】:2013-06-06 09:49:45
【问题描述】:

我想检查屏幕上的像素是否为红色。我正在使用 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


【解决方案1】:
unsigned char r,g,b;
al_unmap_rgb(new_color, &r, &g, &b);

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      相关资源
      最近更新 更多