lua版怎么写获取某张图标某个像素的RGB值
local image = cc.Image:new();
local isInit = image:initWithImageFile(“res/maptest.png”);
local data = image:getData();
C++里面有getData这个接口,但是Lua没有,怎么写应该
lua版怎么写获取某张图标某个像素的RGB值
local image = cc.Image:new();
local isInit = image:initWithImageFile(“res/maptest.png”);
local data = image:getData();
C++里面有getData这个接口,但是Lua没有,怎么写应该
:883::883:跪等大师解决
~获得图片长宽,单个像素的大小(多少位,比如RGBA8888 就是32位一个像素 就是4个字节) , 然后自己算吧
Color4B Image::getPixelColor( const Vec2& pos )
{
Color4B color = {0, 0, 0, 0};
if ( pos.x < 0 || pos.x >= this->getWidth() || pos.y < 0 || pos.y >= this->getHeight() ) {
return color;
}
auto data = this->getData();
auto pixel = (unsigned int*) data;
auto x = (int)pos.x;
auto y = (int)pos.y;
pixel = pixel + (y * this->getWidth() ) * 1 + x * 1;
//R通道
color.r = *pixel & 0xff;
//G通道
color.g = (*pixel >> 8) & 0xff;
//B通过
color.b = (*pixel >> 16) & 0xff;
//Alpha通道
color.a = (*pixel >> 24) & 0xff;
return color;
}
将此接口暴露给Lua