// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
auto m_imgMan = CCSprite::create("red.png");
m_imgMan->setPosition(ccp(100, 100));
m_imgMan->setAnchorPoint(Vec2(0.5f, 0.5f));
addChild(m_imgMan, 1);
//这里参数很固定 没有什么可改的余地
//参数1 你需要渲染出来区域的宽
//参数2 你需要渲染出来区域的高
//参数3 必须是这个模式 否则后面复制内存好像会有问题Texture2D::PixelFormat::RGBA8888
auto m_pRenderTexture = RenderTexture::create(m_imgMan->getContentSize().width, m_imgMan->getContentSize().height, Texture2D::PixelFormat::RGBA8888);
m_pRenderTexture->setPosition(ccp(100, 100));
//m_pRenderTexture->setAnchorPoint(Vec2(0, 0));//设置锚点无效 锚点默认0.5f, 0.5f
addChild(m_pRenderTexture, 2);
Color4B color4B = { 0, 0, 0, 0 };
//开始准备绘制
m_pRenderTexture->begin();
//绘制使用的临时精灵,与原图是同一图片
CCSprite* pTempSpr = CCSprite::createWithSpriteFrame(m_imgMan->displayFrame());
pTempSpr->setPosition(ccp(pTempSpr->getContentSize().width / 2, pTempSpr->getContentSize().height / 2));
//绘制
pTempSpr->visit();
m_pRenderTexture->setAnchorPoint(Vec2(0, 0));
//结束绘制
m_pRenderTexture->end();
//解决方案原文 找了一下午原因 竟是这样 http://blog.csdn.net/super_level/article/details/41707687
Director::getInstance()->getRenderer()->render();//在3.0此处必须写上这个,否则newImage整张图片都为黑色,或者在下一帧获取
//通过画布拿到这张画布上每个像素点的信息,封装到CCImage中
Image* pImage = m_pRenderTexture->newImage();
//获取像素数据
unsigned char* data_ = pImage->getData();
unsigned int *pixel = (unsigned int *)data_;
//pixel = pixel + (y * (int)pTempSpr->getContentSize().width) * 1 + x * 1;//改变这里去调节其他像素
//R通道
color4B.r = *pixel & 0xff;
//G通道
color4B.g = (*pixel >> 8) & 0xff;
//B通道
color4B.b = (*pixel >> 16) & 0xff;
//Alpha通道,我们有用的就是Alpha
color4B.a = (*pixel >> 24) & 0xff;
CCLOG("cur first color: alpha = %d", color4B.a);//
if (color4B.a > 50)
{
CCLOG("cur first color: alpha > 50");
}
return true;
}
cocos2d-x -lua 关于去图片某个点的像素及alpha值
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...