【问题标题】:How to take a picture and save in SQLite database on iOS如何在 iOS 上拍照并保存在 SQLite 数据库中
【发布时间】:2011-05-31 10:28:26
【问题描述】:

我有一个相机应用程序,当我点击相机按钮时,相机会打开,用户可以从相机或照片库中拍照。

我已经完成了相机部分,这样当用户点击按钮时,相机就会打开并且他可以拍照。问题是用户从相机拍摄的照片必须保存到 SQLite 数据库中。我被困在这部分。谁能帮我保存从相机拍摄的图像?

【问题讨论】:

标签: iphone objective-c ios sqlite


【解决方案1】:

如果您使用UIImagePickerController,您可以在其imagePickerController:didFinishPickingMediaWithInfo: 委托方法中获取图像。你得到的图像是一个UIImage 对象。

UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
NSData *data = UIImageJPEGRepresentation(image, 1.0);

现在NSData 有一个方法bytes,它返回void*。这将指向一个 C 类型的数组,它应该可以很好地与 SQLite 配合使用。

【讨论】:

    【解决方案2】:

    您可以在数据库中创建一个 blob 类型的数据字段,然后将字节数据保存到该列中。但是将图像保存在数据库中是一种不好的做法。相反,您可以将图像保存在文档目录中,除非非常需要将图像保存在数据库中。

    【讨论】:

      【解决方案3】:

      现在当你打开相机时,你实现了下面的方法

      - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
      
      [[picker parentViewController] dismissModalViewControllerAnimated:YES];
      }
      

      在上述方法中添加以下代码:--

      NSData *imageData = UIImageJPEGRepresentation(img, 1);
      

      然后调用将数据保存到数据库的方法。

      确保将字段类型作为数据库中的 blob。

      希望对你有帮助.....

      【讨论】:

      • 你好,如果我用相机拍摄照片,那么我如何将照片保存在数据库中,你能帮我看看它的代码是什么
      • 我也在找同样的东西,你能提供将捕获图像保存在数据库中的代码吗,它对我有很大帮助,它是我的应用程序的主要部分,我无法做到。
      猜你喜欢
      • 1970-01-01
      • 2013-11-02
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多