如何在 iPhone/iPad 上使用 iOS5 或 iOS6 拍摄的照片上添加文本标签?
Posted
技术标签:
【中文标题】如何在 iPhone/iPad 上使用 iOS5 或 iOS6 拍摄的照片上添加文本标签?【英文标题】:How can I add a text label on a photo taken on iPhone/iPad using iOS5 or iOS6? 【发布时间】:2013-04-30 07:16:52 【问题描述】:我只想将当前地理位置放在从我的 iPhone/iPad 拍摄的照片上。这可能吗?我已经获得了地理位置,但我可以通过在照片上添加文本标签以编程方式编辑照片。
感谢您的帮助。
【问题讨论】:
这个解决方案可能对***.com/questions/9766394/…有帮助 检查我的答案以在图像上绘制文本。 【参考方案1】:您可以使用以下方法在图像上添加文本:
//Add text to UIImage
-(UIImage *)addText:(UIImage *)img text:(NSString *)text1
int w = img.size.width;
int h = img.size.height;
//lon = h - lon;
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];// "05/05/09";
CGContextSelectFont(context, "Arial", 18, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 255, 255, 255, 1);
//rotate text
CGContextSetTextMatrix(context, CGAffineTransformMakeRotation( -M_PI/4 ));
CGContextShowTextAtPoint(context, 4, 52, text, strlen(text));
CGImageRef imageMasked = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
return [UIImage imageWithCGImage:imageMasked];
希望对你有帮助。
【讨论】:
@PrasadW 将此问题标记为已回答,如果它解决了您的问题。【参考方案2】:这里是一个示例方法,它将返回一个带有文本的图像
-(UIImage*) getImageWithText:(UIImage*) sourceImage
UIGraphicsBeginImageContext(sourceImage.size);
[sourceImage drawAtPoint:CGPointZero];
[@"someText" drawAtPoint:CGPointMake(x,y) [UIFont systemFontOfSize:14]]
UIImage* imageWithText = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return imageWithText;
【讨论】:
以上是关于如何在 iPhone/iPad 上使用 iOS5 或 iOS6 拍摄的照片上添加文本标签?的主要内容,如果未能解决你的问题,请参考以下文章
在 iPhone / iPad 上,如何在不使用图像的情况下制作带有凹槽的 Button?