前些时候在iPhone上做分页需要用到的,分页链接是一张图片,需要在图片上显示页码。在网上找到的一段代码,将文字写到图片上面,还不错,核心代码如下:
-(UIImage *)addText:(UIImage *)img text:(NSString *)someText{
int w = img.size.width;
int h = img.size.height;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
char* text= (char *)[someText cStringUsingEncoding:NSASCIIStringEncoding];
CGContextSelectFont(context, "Arial",20, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 0, 0, 0, 1);
CGContextShowTextAtPoint(context,10,10,text, strlen(text));
CGImageRef imgCombined = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
UIImage *retImage = [UIImage imageWithCGImage:imgCombined];
CGImageRelease(imgCombined);
return retImage;
}
- (void)viewDidLoad {
UIImage *img = [UIImage imageNamed:@"logo.png"];
UIImage *image = [self addText:img text:@"Hello World!"];
[self.imgView setImage:image];
[super viewDidLoad];
}
效果: