cocos jpg alpha_mask png

cocos jpg alpha_mask png,第1张

概述Texture2D* StartLayer::addJpgMaskPng(const char* jpgName, const char* maskName) { CCImage *jpgImage = new CCImage(); jpgImage->initWithImageFile(jpgName); unsigned char *jpgData = jpgImage->getData(); Texture2D* StartLayer::addJpgmaskPng(const char* jpgname,const char* maskname) { CCImage *jpgImage = new CCImage(); jpgImage->initWithImagefile(jpgname); unsigned char *jpgData = jpgImage->getData(); int lenJPGPerPixel = jpgImage->getBitPerPixel() / 8; int wIDth = jpgImage->getWIDth(); int height = jpgImage->getHeight(); int len = wIDth * height; CCImage *AlphaImage = new CCImage(); AlphaImage->initWithImagefile(maskname); unsigned char *AlphaData = AlphaImage->getData(); int lenAlphaPerPixel = AlphaImage->getBitPerPixel() / 8; unsigned char *outPic = new unsigned char[wIDth * height * 4]; int outIndex = 0; int srcIndex = 0; for (int i = 0; i < len; i++) { outPic[outIndex + 0] = jpgData[srcIndex + 0]; outPic[outIndex + 1] = jpgData[srcIndex + 1]; outPic[outIndex + 2] = jpgData[srcIndex + 2]; outPic[outIndex + 3] = AlphaData[i*lenAlphaPerPixel]; srcIndex += 3; outIndex += 4; } CCTexture2D *texture = new CCTexture2D(); texture->initWithData(outPic,len * 4,Texture2D::PixelFormat::RGBA8888,wIDth,height,Size((float)wIDth,(float)height)); delete jpgImage; delete AlphaImage; delete[] outPic; return texture; } 总结

以上是内存溢出为你收集整理的cocos jpg alpha_mask png全部内容,希望文章能够帮你解决cocos jpg alpha_mask png所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1076327.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存