//data: 图片文件数据 dataLen: 文件长度
bool Image::initWithImageData(const unsigned char * data, ssize_t dataLen)
{
bool ret = false;
do
{
CC_BREAK_IF(! data || dataLen <= 0);
unsigned char* unpackedData = nullptr;
ssize_t unpackedLen = 0;
//解压缩pvr.ccz格式的图片
//detecgt and unzip the compress file
if (ZipUtils::isCCZBuffer(data, dataLen))
{
unpackedLen = ZipUtils::inflateCCZBuffer(data, dataLen, &unpackedData);
}
//解压缩pvr.gz格式的图片
else if (ZipUtils::isGZipBuffer(data, dataLen))
{
unpackedLen = ZipUtils::inflateMemory(const_cast<unsigned char*>(data), dataLen, &unpackedData);
}
else
{
unpackedData = const_cast<unsigned char*>(data);
unpackedLen = dataLen;
}
//识别文件类型
_fileType = detectFormat(unpackedData, unpackedLen);
switch (
cocos2dx的图片加载
最新推荐文章于 2024-07-31 15:55:54 发布
本文简要概述了cocos2dx中图片从解码到加载并显示的流程,特别提到对于非mipmaps贴图的初始化方法。后续会深入探讨各种图片格式的解码细节以及渲染流程。
摘要由CSDN通过智能技术生成