使用目标c拍摄日期照片

时间:2013-07-19 04:19:41

标签: cocoa-touch core-location ios6.1

是否可以从相机拍摄照片以及iphone中照片中的日期,时间和位置(lat n long)显示。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,

您需要将 UIImagePickerController 与自定义叠加视图一起使用...

来自Apple的文档@ http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html

您可以自定义图像选择器控制器以自行管理用户交互。为此,请提供包含要显示的控件的叠加视图,并使用“捕获静止图像或电影”中描述的方法。除了默认控件之外,您还可以显示自定义叠加视图。 UIImagePickerController类的自定义叠加视图在iOS 3.1及更高版本中通过cameraOverlayView属性提供。有关代码示例,请参阅PhotoPicker示例代码项目。

此外,您可以从 UIImagePickerControllerMediaMetadata

获取所需的所有数据,时间,地理坐标等

您可以使用它来填充自定义叠加层视图上的标签。

如果您不想使用此方法,您也可以使用AVCamCaptureManager和AVCamRecorder类轻松完成。

As Per This Questions answer...

“Apple在其开发者网站上有一个演示程序。它被命名为AVCam。简单来说,当你点击打开相机时,它会调用负责打开的类和方法iPhone的摄像头和录制视频或捕获音频。它调用UIImagePickerController调用的相同类。所以你的相机将打开并开始输入。 现在,如果您打开该AVCam项目的xib文件,您将找到一个小的UIView对象。此视图负责显示相机的Feed。您可以根据需要调整视图大小,摄像机的输入将显示在该区域中。您也可以根据自己的选择将框架图像放在它周围。“

拍摄照片后向UIImage添加字符串的代码:

//Add text to 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);

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

}
相关问题