日前,自己在做项目的过程中遇到此需求:需要将Facebook好友的方形头像变成圆形头像展示。通过网上的搜罗研究,发现使用CCRenderTexture是个不错的方法,归纳总结之后,形成了下面这个方法。
其实,用这个方法不仅可以将图片裁成圆形,而是可以裁成任何你想要的形状。关键只在于你使用的是何种形状的蒙版图片而已。
方法如下:
CCSprite * UnivCoreTest::maskedSprite(CCSprite *textureSprite)
{
CCSprite * maskSprite = CCSprite::create("circle_mask.png");
CCRenderTexture * renderTexture = CCRenderTexture::create(maskSprite->getContentSize().width, maskSprite->getContentSize().height);
maskSprite->setPosition(ccp(maskSprite->getContentSize().width / 2, maskSprite->getContentSize().height / 2));
textureSprite->setPosition(ccp(textureSprite->getContentSize().width / 2, textureSprite->getContentSize().height / 2));
maskSprite->setBlendFunc((ccBlendFunc){GL_ONE, G