изменить размер UIImage и сохранить его в файловой системе моего приложения - PullRequest
1 голос
/ 09 марта 2012

Мне нужно изменить размер UIImage и сохранить его в файловой системе моего приложения,

Я могу изменить размер изображения

или просто показать его с меньшим cgrect длякадр,

но как я могу сохранить это недавно измененное изображение в моем приложении sys?

спасибо!

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Если ваше изображение называется image

//Where the 0 denotes the compression (0 to 1).
NSData *imageData = UIImageJPEGRepresentation(image, 0);

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"MyImageFolder"];

NSError *error;
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder

NSString *fullPath = [dataPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg", imageName]]; //add our image to the path

bool successI = [imageData writeToFile:fullPath atomically:YES];
if (successI) {
    //        NSLog(@"Image saved correctly");
} else
    NSLog(@"Error while saving Image");

Забыл упомянуть, вы можете изменить

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

, чтобы сохранить его в другом месте.

1 голос
/ 09 марта 2012

Вы можете сначала преобразовать UIImage в NSData с помощью

UIImageJPEGRepresentation

или

UIImagePNGRepresentation

Затем записать данные в папку «Документ» или «Библиотека» в своем приложении.

...