0

我只想将当前地理位置放在从我的 iPhone/iPad 拍摄的照片上。这可能吗?我已经获得了地理位置,但我可以通过在照片上添加文本标签以编程方式编辑照片。

谢谢你的帮助。

4

2 回答 2

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;
    }
于 2013-04-30T07:34:55.027 回答
2

您可以使用以下方法在图像上添加文本:

//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];
}

希望它可以帮助你。

于 2013-04-30T07:36:10.967 回答