Как использовать renderInContext: с CGBitmapContextCreate и Retina?
Я вручную создал CGBitmapContext:
bitmapContext = CGBitmapContextCreate( myImageData, width, height, 8, 4 * width, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big );
И рисование слоя к нему:
[self.myView.layer renderInContext:bitmapContext];
Однако на Retina мой слой рендерится только наполовину от исходного размера.
Настройка contentScaleFactor
собственность на UIView
ничего не меняет
Какой правильный способ сделать это?
1 ответ
Решение
Конечно, ответ пришел ко мне, как только я задал вопрос. Просто сделайте это:
float scale = self.myView.contentScaleFactor;
CGContextScaleCTM(context, scale, scale);
[self.myView.layer renderInContext:context];