后部iPhone 4相机UIImageView的质量太高了?

时间:2010-07-14 14:49:46

标签: iphone uiimagepickercontroller

使用iPhone 4时,使用后置摄像头时出现内存问题。它导致内存错误,不会将图片分配给UIView。这是代码。

-(IBAction)getCameraPicture:(id)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;

if(sender == takePictureButton)
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
else
    picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

[self presentModalViewController:picker animated:YES];
[picker release];

}

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info
{

    imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [picker dismissModalViewControllerAnimated:YES];
}

使用正面(低质量)相机时,它可以正常工作,也可以加载未以全质量拍摄的现有照片。有没有办法降低后置摄像头拍摄的照片质量,或者其他一些方法来解决这个问题?

1 个答案:

答案 0 :(得分:4)

这是一个常见问题,iPhone上相机的图像非常大!通常比你需要的要大得多。最佳做法是将图像调整为大小不超过您的需要。我使用MGImageUtilities,效果很好。

如果您因任何原因需要完整尺寸的图像,请在调整大小之前将其缓存到磁盘。