2010-07-14 3 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

이것은 일반적인 문제입니다. 아이폰에있는 카메라의 이미지는 엄청납니다! 보통 필요한 것보다 훨씬 큽니다. 가장 좋은 방법은 필요 이상으로 이미지의 크기를 조정하는 것입니다. 나는 MGImageUtilities을 사용하며 훌륭하게 작동합니다.

어떤 이유로 든 전체 크기 이미지가 필요한 경우 크기를 조정하기 전에 이미지를 디스크에 캐시하십시오.

관련 문제