如何拍摄照片并保存在iOS上的SQLite数据库
我有一个相机应用程序,当我点击相机button时,相机打开,用户可以从相机或照片库中拍照。
我已经完成了相机部分,当用户点击button时,相机打开,他可以拍照。 问题是用户从相机拍摄的图片必须保存到SQLite数据库中。 我被困在这个部分。 有没有人可以帮助我如何保存从相机拍摄的图像?
如果您使用的是UIImagePickerController
,则可以在imagePickerController:didFinishPickingMediaWithInfo:
delegate方法中获取图像。 你得到的图像是一个UIImage
对象。
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; NSData *data = UIImageJPEGRepresentation(image, 1.0);
现在NSData
有一个返回void*
的方法bytes
。 这将指向一个C型数组,这应该与SQLite打好。
您可以在数据库中创build一个blobtypes的数据字段,然后将字节数据保存到该列中。 但在数据库中保存图像是一种不好的做法。 相反,您可以将图像保存在文档目录中,除非非常有必要将图像保存在数据库中。
现在,当您打开相机时,将执行以下方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo { [[picker parentViewController] dismissModalViewControllerAnimated:YES]; }
在上面的方法中添加下面的代码:
NSData *imageData = UIImageJPEGRepresentation(img, 1);
然后调用保存数据到数据库的方法。
确保在数据库中将字段types作为blob。
希望能帮助到你…..