2010-07-14 27 views
1

使用iPhone 4時,使用後置攝像頭時出現內存問題。它導致內存錯誤,不會將圖片分配給UIView。這是代碼。後iPhone 4相機UIImageView質量過高?

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

它採用前置(低質量)相機時,如不加載現有圖片不完全質量採取的正常工作。有沒有辦法降低使用後置攝像頭拍攝的照片的質量,或者採取其他方式來解決此問題?

回答

4

這是一個常見的問題,來自iPhone上的攝像頭的圖像是巨大的!通常比你需要的大得多。最佳做法是調整圖像大小,使其不超過您的需要。我使用MGImageUtilities,它的效果很好。

如果因任何原因需要全尺寸圖像,請在調整大小之前將其緩存到磁盤。