如何在sqlite数据库中存储(图像)和减少(memorysize)

时间:2011-04-05 10:11:19

标签: iphone

我是iphone的新开发者。在我的应用程序中,我采用1按钮,1imageview和pickercontrol。

我想从photoalbum访问图像,显示该图像并将该图像存储在sqlite database.i中完成直到图像显示但我不知道如何存储文件数据库和另一个问题是从图像库访问图像我们必须缩小图像大小而不影响清晰度(与实际图像相比减小像素大小)。减少数据库中的内存大小。

这是我的代码

- (void)viewDidLoad {
    self.picker = [[UIImagePickerController alloc] init];
    self.picker.allowsImageEditing = YES;
    self.picker.delegate = self;
    self.picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [super viewDidLoad];
}
-(IBAction)selectimage{
    [self presentModalViewController:self.picker animated:YES];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {

    image.image = img;  
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

2 个答案:

答案 0 :(得分:1)

我强烈建议使用文件缓存图像(更常用于缓存大文件) ...;)

...并将路径/文件名存储在数据库中......即使有办法在sqlite中存储这样的blob,也可能是潜在的性能瓶颈。

要缩小图像尺寸,您可以使用UIImageJPEGRepresentation.

轻松压缩为JPEG

答案 1 :(得分:0)

我强烈建议使用Core Data,因此您无需关心如何实现图像/数据的持久性。