在 cocos2d 中我不能使用某些方法,UIGraphicsGetCurrentContext
所以我按照以下方式这样做:
memset(textData, 0, sW*sH*4);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(textData, sW, sH, 8, sW*4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
CGColorSpaceRelease( colorSpace );
CGContextSetRGBFillColor(context, 1, 1, 1, 1);
CGContextTranslateCTM(context, 0.0f, sH);
CGContextScaleCTM(context, 1.0f, -1.0f);
UIGraphicsPushContext(context);
NSString* sstr = [NSString stringWithCString:(const char*)str encoding:NSUnicodeStringEncoding];//its right
UIFont* font = [UIFont fontWithName:@"arial" size:12];
[sstr drawInRect:CGRectMake(x, sH-y,100,100) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];
UIGraphicsPopContext();
CGContextRelease(context);
当我在 处调试和断点时UIGraphicsPopContext
,内存视图中的内容textData
始终为零,有人帮助我。context
并且textData
不为零。