Итак, у меня есть UIImage, который я загружаю с помощью [UIImage imageNamed]
. Затем я сохраняю этот файл в каталоге документов. Моя проблема в том, что файл изначально имел разрешение 240. Когда я получаю файл из каталога документов Simulator, он теперь имеет разрешение 72. Как я могу сохранить его в том же разрешении, в котором он был загружен?
Вот как я его загружаю:
UIImage * image = [UIImage imageNamed:@"halloween_big.jpg"]
CGContextRef context = CGBitmapContextCreate(
(void*) pixels,
image.size.width,
image.size.height,
8,
image.size.width * 4,
CGImageGetColorSpace(image.CGImage),
kCGImageAlphaPremultipliedLast
);
// get the image from the current context with our new pixels
CGImageRef imageRef = CGBitmapContextCreateImage( context );
image = [UIImage imageWithCGImage:imageRef];
РЕДАКТИРОВАТЬ. Я также пытался загрузить изображение только этим и не вносил изменений в изображение:
UIImage *loaded = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"halloween_big" ofType:@"jpg"]];
Вот как я его сохраняю:
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Test.jpg"];
[UIImageJPEGRepresentation(image, 1.0) writeToFile:jpgPath atomically:YES];
РЕДАКТИРОВАТЬ. Я получаю ту же потерю разрешения, если сохраняю файл в формате PNG.
Чтобы быть уверенным, то же самое произойдет, если я изменю параметр качества на UIImageJPEGRepresentation.