Как использовать 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];
Другие вопросы по тегам