2011-04-05 39 views
0

我是iphone上的新开发者。在我的应用程序中,我采用1button,1imageview和pickercontrol。如何在sqlite数据库中存储(图像)和减少(记忆大小)

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

这是我的代码

- (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]; 
} 
+0

你的意思是压缩到JPEG由“我们必须减少对清晰了影响图像的尺寸(降低像素大小与实际图像进行比较)。而降低数据库中的内存大小“你需要缩略图吗? – 2011-04-05 10:21:42

+0

亚请帮助,如何做到这一点 – sirisha 2011-04-05 10:26:22

+0

您将需要一种方法来调整您的图像的大小,并将它们保存在你的数据库的新列。 – 2011-04-05 10:29:52

回答

0

我强烈建议使用的核心数据,所以你不必关心图像/数据的持续存在是如何实现的问题。

+1

它仍然不是为blob制作的。 – JustSid 2011-04-05 10:23:59

+0

这取决于数据的大小。 – 2011-04-05 10:26:51

+0

是的,但图像(甚至缩小)很可能太大。 – JustSid 2011-04-05 10:39:19

1

我强烈建议使用文件缓存图像(一般多用于缓存大文件) ...;)

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

为了减少图像尺寸,可以很容易地使用UIImageJPEGRepresentation.