获取图片某个像素RGBA值

来源:互联网 发布:sql union替代 join 编辑:程序博客网 时间:2024/06/12 20:06


CCImage * myimg = new CCImage();
//加载 图片
myimg->initWithImageFile("CloseNormal.png");
myimg->retain();
int MaxX = myimg->getWidth();
int MaxY = myimg->getHeight();
unsigned char *data_ = myimg->getData();
unsigned int Size = myimg->getDataLen();


unsigned int *pixel = 0;
ccColor4B c = { 0, 0, 0, 0 };


for (int x = 0; x < MaxX; x++)
{
for (int y = 0; y < MaxY; y++)
{
int pos = ((x * MaxX) + y);
pixel = ((unsigned int *)data_) + pos;        //480 是图片的宽
c.r = *pixel & 0xff;
c.g = (*pixel >> 8) & 0xff;
c.b = (*pixel >> 16) & 0xff;
c.a = (*pixel >> 24) & 0xff;        //这个值  就是透明度
log("Pos: %d, R: %d, G: %d, B: %d, A: %d", pos, c.r, c.g, c.b, c.a);
}
}
原创粉丝点击