【问题标题】:how to store(image) and reduce(memorysize) in sqlite database如何在 sqlite 数据库中存储(图像)和减少(内存大小)
【发布时间】:2011-04-05 10:11:19
【问题描述】:

我是 iphone 的新开发者。在我的应用程序中,我使用 1button、1imageview 和 pickercontrol。

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

这是我的代码

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

【问题讨论】:

  • 您的意思是“我们必须在不影响清晰度的情况下减小图像的大小(与真实图像相比减小像素大小)。并减少数据库中的内存大小”您需要缩略图吗?
  • 请帮忙,怎么做
  • 您需要一种方法来调整图像大小并将其保存在数据库的新列中。

标签: iphone


【解决方案1】:

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

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

要减小图像大小,您可以使用 UIImageJPEGRepresentation. 轻松压缩为 JPEG

【讨论】:

    【解决方案2】:

    我强烈建议使用 Core Data,这样您就不必关心如何实现图像/数据的持久化。

    【讨论】:

    • 它仍然不是为 blob 制作的。
    • 这取决于数据的大小。
    • 没错,但图像(即使按比例缩小)很可能太大了。
    猜你喜欢
    • 1970-01-01
    • 2018-04-18
    • 2011-01-08
    • 1970-01-01
    • 2011-08-06
    • 2020-04-23
    • 2012-03-10
    相关资源
    最近更新 更多