网上找了大致2个方法:
1, http://blog.youkuaiyun.com/dawn_moon/article/details/8631783 但这个图片要求是PNG的
2,http://zengrong.net/post/2060.htm 这个方法正是符合需求,但是我照着代码用发现效果出不来
感谢QQ好友(快乐小冬瓜(Dony))的帮忙,问题解决了,解决方法在下面。同时本人刚入行半个月,希望能认识更多的朋友,欢迎加*****:346271116
CCImage *jpgImage = new CCImage();
jpgImage -> initWithImageFile("img/right_1.jpg",CCImage::kFmtJpg);
unsigned char *jpgData = jpgImage -> getData();
CCImage *pngImage = new CCImage();
pngImage -> initWithImageFile("img/right_1_alpha_mask",CCImage::kFmtPng);
unsigned char *pngData = pngImage->getData();
int len = jpgImage->getDataLen();
int width = jpgImage->getWidth();
int height = jpgImage->getHeight();
int pixelSize = len / (width * height);
unsigned char *outPic = new unsigned char[len * 4];
unsigned char dest;
int outIndex = 0;
int srcIndex = 0;
for(int i = 0; i < len; i++)
{
dest = pngData[srcIndex];//得到第一个
outPic[outIndex] = jpgData[srcIndex];
outPic[outIndex + 1] = jpgData[srcIndex + 1];
outPic[outIndex + 2] = jpgData[srcIndex+2];
outPic[outIndex + 3] = dest;
srcIndex += 3;
outIndex += 4;
}
CCTexture2D *texture = new CCTexture2D();
texture->initWithData(outPic,kCCTexture2DPixelFormat_RGBA8888,width,height,CCSizeMake((float)width, (float)height));
http://www.cocoachina.com/bbs/read.php?tid=201144
1145

被折叠的 条评论
为什么被折叠?



