读取Jpg和mask图片
来源:互联网 发布:虚拟机ubuntu怎么联网 编辑:程序博客网 时间:2024/06/05 08:10
最近Dota传奇比较火,小伙伴都在解剖它,然后发现它的UI不是png图片,而是jpg加上一个I8的png.看了下cocoachina论坛上有人发布了一个读取函数,可惜的是那个函数有点错误.所以自己写了一个,在这里mark一下.
Texture2D* FileIO::openImage(const char* jpgFile,const char* maskFile){std::string name = jpgFile;name.erase(name.length()-4,4);auto ret = Director::getInstance()->getTextureCache()->getTextureForKey(name);if(ret)return ret;auto _img = new Image();auto _jpg = new Image();auto _mask = new Image();do {if(!_jpg->initWithImageFile(jpgFile))break;if(!_mask->initWithImageFile(maskFile))break;auto _color = _jpg->getData();auto _alpha = _mask->getData();auto _w = _jpg->getWidth();auto _h = _jpg->getHeight();auto _l = _jpg->getDataLen();auto _out = new unsigned char[_l*4];for(int idx = 0; idx < _l; idx++){_out[idx*4] = _color[idx*3];_out[idx*4+1] = _color[idx*3+1];_out[idx*4+2] = _color[idx*3+2];_out[idx*4+3] = _alpha[idx];}_img->initWithRawData(_out,_l*4,_w,_h,4);ret = Director::getInstance()->getTextureCache()->addImage(_img,name);SAFE_DELETE(_out);break;} while (1);SAFE_DELETE(_img);SAFE_DELETE(_jpg);SAFE_DELETE(_mask);return ret;}
0 0
- 读取Jpg和mask图片
- Mnist的读取和输出为JPG图片
- MFC读取jpg图片显示
- 二进制读取jpg和写jpg图
- 如何jpg和png混和使用,实现mask?
- ImageMagick 拆分透明PNG、合并JPG和Alpha Mask
- ImageMagick 拆分透明PNG、合并JPG和Alpha Mask
- ImageMagick 拆分透明PNG、合并JPG和Alpha Mask
- opencv学习笔记(1)——读取路径显示图片和保存jpg图片
- Symbian里面读取png,gif,jpg图片
- 利用com组件读取jpg格式图片
- opencv 内存中读取一段jpg 图片
- gif和jpg图片比较
- JPG+mask替代透明Png
- JPG+mask替代透明Png
- JPG+mask替代透明Png
- JPG+mask替代透明Png
- 利用COM组件IPicture读取jpg、gif、bmp图片文件数据和显示图片的两个函数
- java语言,通过反射获得类中的字段,及对应值。
- UVa11770 - Lighting Away(排序+DFS)
- VLC命令行参数详解
- hdu 1022 Train Problem I_栈的应用经典例题
- Spring工作原理及其作用 .
- 读取Jpg和mask图片
- 挺好的图像学习博客
- iOS 的单例模式 dispatch_once
- 各种浏览器的userAgent及如何使用JS来检测游览器类型,或android是什么版本号
- PKU 3716 Panda's Birthday Present (概率问题)
- Android之WindowManager
- [ACM] POJ 1068 Parencodings(模拟)
- OpenCV学习教程入门篇<一、介绍>
- android文件输出问题