Задняя камера iPhone 4 слишком высокого качества для UIImageView? - PullRequest
1 голос
/ 14 июля 2010

При использовании 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 Ответ

4 голосов
/ 14 июля 2010

Это обычная проблема, изображения с камер на iPhone огромны!Обычно гораздо больше, чем нужно.Лучше всего изменить размер изображения, чтобы оно было не больше, чем нужно.Я использую MGImageUtilities , и он прекрасно работает.

Если вам по какой-либо причине требуется полноразмерное изображение, кэшируйте его на диск перед изменением его размера.

...