這個(gè)問題我升級ios7的時(shí)候遇到,現(xiàn)已經(jīng)解決,修改cocos2dx底層
找到
static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAlign, const char * pFontName, int nSize, tImageInfo* pInfo)
這個(gè)函數(shù)底下
做此修改
const int _width = dim.width;
const int _height = dim.height;
unsigned char* data = new unsigned char[(int)(dim.width * dim.height * 4)];
memset(data, 0, (int)(_width * _height * 4));
// draw text
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context =
CGBitmapContextCreate(data, _width, _height, 8, _width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
道理很簡單,因?yàn)楦↑c(diǎn)數(shù) * 4以后再取整, 有可能不是4的倍數(shù)
然后顯示也正常了