Итак, у меня есть этот код для создания UIImage:
UIGraphicsBeginImageContextWithOptions(border.frame.size, YES, 0);
[border.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *thumbnailImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
На этом этапе размер изображения правильный, 80x100.
Затем запускается этот код:
NSData *fullImageData = UIImageJPEGRepresentation(image, 1.0f);
И NSData изображения возвращает изображение размером 160x200 - вдвое больше, чем должно быть.
Стало ясно, причина этого в строке:
UIGraphicsBeginImageContextWithOptions(border.frame.size, YES, 0);
0 в конце - это шкала, и, поскольку она равна 0, она соответствует коэффициенту масштабирования устройства. Я держу это таким образом, чтобы сохранить четкое изображение. Однако, когда я устанавливаю изображение в 1, несмотря на то, что изображение остается того размера, которое должно быть, оно не получается с качеством сетчатки. То, что я хочу сделать, это сохранить его в качестве сетчатки, но и сохранить его в нужном размере. Есть ли способ сделать это?