2013-05-12 2 views
1

Я следую this сообщению о том, как изменить размер изображения. Я поместил + (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize; в selectExerciseImageViewController.h и скопировал соответствующий код на selectExerciseImageViewController.m.Изменение размера изображения от UIImagePickerController не работает

Затем я пытаюсь изменить размер изображения, сохранить его и восстановить сохраненный файл изображения в UIImageView. но по какой-то причине изображение никогда не показывая UIImageView и последний NSLog возвращается null

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

    [picker dismissModalViewControllerAnimated:YES]; 

    UIImage* newImage = [selectExerciseImageViewController imageWithImage:[info objectForKey:@"UIImagePickerControllerOriginalImage"] 
     scaledToSizeWithSameAspectRatio:CGSizeMake(40.0,40.0)]; 

    NSData* imageData = UIImagePNGRepresentation(newImage); 
    // Give a name to the file 
    NSString* imageName = @"MyImage.png"; 

    // Now, we have to find the documents directory so we can save it 
    // Note that you might want to save it elsewhere, like the cache directory, 
    // or something similar. 
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString* documentsDirectory = [paths objectAtIndex:0]; 

    // Now we get the full path to the file 
    NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:imageName]; 

    // and then we write it out 
    [imageData writeToFile:fullPathToFile atomically:NO]; 
    //imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    _testimg.image = [UIImage imageNamed:@"MyImage.png"]; 
    NSLog(@"asd %@",[UIImage imageNamed:@"MyImage.png"]); 

} 

ответ

2
[UIImage imageNamed:@"MyImage.png"]; 

Это загружает изображение из основного пакета приложения. Вы пишете файл в каталоге документов. Вам необходимо создать экземпляр объекта UIImage другим способом. Попытка:

[UIImage imageWithContentsOfFile:fullPathToFile]; 
+0

есть ли способ сохранить файл в моем приложении ??? –

+0

Нет, вы не можете изменить пакет приложений, потому что это цифровая подпись, и любые изменения заставят ваше приложение не запускаться. Apple предоставляет конкретные каталоги для написания, вы должны использовать их. – Jim

+0

когда я проверяю свой фотоальбом, тогда я должен увидеть исправленную версию моего файла правильно. Как я могу получить fullPathToFile ?? –

Смежные вопросы