第一种方式,在CCImage内读取图片数据后,合并起来使用。改写Image类,增加initWithJpgAndPng方法
代码如下
1 | bool Image::initWithJpgAndPng(const std::string& jpgpath, const std::string& pngpath) { |
tips:
- 这里为了验证思路,找了个RBGA8888的png做mask图,如果使用的mask图不是该格式,则需要修改_renderFormat, _fileType等属性。
- 因为cocos默认png图片是pre_multi_alpha的,所以我们在加入alpha数据时,需要同时将alpha乘到rgb上
使用时代码如下:
1 | Image* image = new Image(); |
Ursprünglicher Link: http://yangguang1029.github.io/2016/11/28/cocos-jpgmaskpng/
Copyright-Erklärung: 转载请注明出处.