0

我试图将传递给 CGContextShowTextAtPoint 的 NSString 包装起来,这样它就不会从图像中扩展出来。这是我的代码:

int w = img.size.width;
int h = img.size.height;
CGFloat fMid = 14;

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);

CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);

char* text  = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];

CGContextSelectFont(context, "Arial", fMid, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 255, 255, 255, 1);
CGContextShowTextAtPoint(context, 0, fMid, text, strlen(text));


CGImageRef imageMasked = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);

return [UIImage imageWithCGImage:imageMasked]
4

0 回答 0