我怎样才能在iPhone上的图像添加文本?
我需要在iPhone上的图像放置文字。 这就像Eurosport iPhone应用程序。
http://a2.mzstatic.com/us/r1000/092/Purple/v4/fa/d6/9e/fad69e44-29e2-a123-2a74-ad58ba5de36e/mza_1083026897138509692.320×480-75.jpg
以同样的方式,我需要在我的应用程序中放置一个文本。 我怎样才能做到这一点?
谢谢。
我find了两种方法
1:
UIImageView *imageView = [[UIImageView alloc] init]; imageView.frame = CGRectMake(0, 25, 200, 200); imageView.image = [UIImage imageNamed:@"Choice set.png"]; UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 20)]; myLabel.text = @"Hello There"; myLabel.textColor = [UIColor whiteColor]; myLabel.backgroundColor = [UIColor blueColor]; [imageView addSubview:myLabel]; [self.view addSubview:imageView]; [imageView release]; [myLabel release];
2:
添加文本到UIImage
-(UIImage *)addText:(UIImage *)img text:(NSString *)text1{ 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 *)[text1 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; }
然后打电话
UIImage *image = [UIImage imageNamed:@"myimage.png"]; imageView.image = [self addText:image text:@"Hello there"];
只需简单的制作背景清晰的标签。
yourLabel.backgroundColor = [UIColor clearColor];