是否可以从相机拍摄照片以及iphone中照片中的日期,时间和位置(lat n long)显示。
答案 0 :(得分:0)
是的,这是可能的,
您需要将 UIImagePickerController 与自定义叠加视图一起使用...
您可以自定义图像选择器控制器以自行管理用户交互。为此,请提供包含要显示的控件的叠加视图,并使用“捕获静止图像或电影”中描述的方法。除了默认控件之外,您还可以显示自定义叠加视图。 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];
}