First Я создаю CGImageRef
Resize Retina NSBitmapImage половинного размера
CGImageRef imageRef = [self createCGimageOfDocumentInPath:scaledSelection withBackgroundColor:self.backgroundColor];
Затем я создаю NSBitmapImageRep
imageData = [[NSBitmapImageRep alloc] initWithCGImage:imageRef];
Тогда я делаю изображения Retina (144pixels/дюйм)
NSSize newSize;
newSize.width = [imageData pixelsWide] * 72.0/144; // x-resolution
newSize.height = [imageData pixelsHigh] * 72.0/144; // y-resolution
[imageData setSize:newSize];
В моем отладчике говорится, что мой imageData->NSImageRep->_size = NSSize(320/240)
pixelsWide = 640
и pixelsHigh = 480
Это выглядит правильно, я хочу, чтобы размер изображения, чтобы быть 320/240, но я хочу, чтобы это было сетчатку, поэтому я хочу пикселы быть вдвое больше, чем, не так ли?
Когда я сохранить это изображение и загрузить его, он заканчивает тем, что имел высоту/ширину 640/480-- но и 144pixels/дюйм (сетчатка)
Так что я думаю, что мне просто нужен способ, чтобы изменить размер мой образ в два раза, прежде чем я его сохраню, или, может быть, я ошибаюсь? Кто-нибудь сделал что-нибудь подобное раньше?