2011-05-31 113 views
1

我有一个相机应用程序,当我点击相机按钮时,相机打开,用户可以从相机或照片库拍照。如何拍照并保存在iOS上的SQLite数据库中

我已经完成了相机部分,使得当用户点击按钮时,相机打开,他可以拍照。问题是用户从相机拍摄的图片必须保存到SQLite数据库中。我被困在这部分。任何人都可以帮助我如何保存从相机拍摄的图像?

+0

[读取和写入图像到SQLite数据库的iPhone使用]的可能重复(http://stackoverflow.com/questions/643682/reading-and-writing-images-to-an-sqlite-db-for- iphone-use) – 2011-05-31 14:05:16

回答

3

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

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

现在NSData有一个方法bytes返回void*。这将指向一个C型数组,它应该和SQLite一起使用。

0

现在,当您打开相机时,实现以下方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo { 

[[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
} 

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

NSData *imageData = UIImageJPEGRepresentation(img, 1); 

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

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

希望它可以帮助.....

+0

嗨我想如果我通过相机捕捉图片然后我如何保存图片在数据库中可以帮助我什么代码它 – Rocky 2011-06-01 12:45:41

+0

我也在寻找相同的,你可以提供的代码保存捕获图像的数据库,这对我很有帮助,这是我申请的主要部分,我无法做到。 – 2012-11-02 06:56:45

2

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

相关问题