我有一个相机应用程序,当我点击相机按钮时,相机打开,用户可以从相机或照片库中拍照。
我已经完成了相机部分,当用户单击按钮时,相机打开,他可以拍照。问题是用户从相机拍摄的照片必须保存到SQLite数据库中。我被困在这一部分了。有人能帮我保存相机拍摄的图像吗?
发布于 2011-05-31 18:46:12
如果您使用的是UIImagePickerController,则可以在其imagePickerController:didFinishPickingMediaWithInfo:委托方法中获取图像。您得到的图像是一个UIImage对象。
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
NSData *data = UIImageJPEGRepresentation(image, 1.0);现在NSData有一个返回void*的方法bytes。这将指向一个C类型的数组,它可以很好地与SQLite配合使用。
发布于 2011-05-31 18:55:34
您可以在数据库中创建blob类型的数据字段,然后将字节数据保存到该列中。但是,将图像保存在数据库中是一种糟糕的做法。相反,您可以将图像保存在文档目录中,除非非常有必要将图像保存在数据库中。
发布于 2011-05-31 18:48:12
现在,当您打开相机时,您将实现以下方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}在上面的方法中添加以下代码:--
NSData *imageData = UIImageJPEGRepresentation(img, 1);然后调用将数据保存到数据库的方法。
确保在数据库中将字段类型作为blob。
希望它能帮上忙……
https://stackoverflow.com/questions/6186224
复制相似问题