2

在 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不为零。

4

0 回答 0