我手动创建了一个CGBitmapContext:
bitmapContext = CGBitmapContextCreate( myImageData, width, height, 8, 4 * width, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big );
并为其绘制图层:
[self.myView.layer renderInContext:bitmapContext];
然而,在Retina上,我的图层仅渲染原始尺寸的一半。
在contentScaleFactor
上设置UIView
属性不会改变任何内容。
这样做的正确方法是什么?
答案 0 :(得分:6)
当然,在我问这个问题的那一刻,答案就出现了。只需这样做:
float scale = self.myView.contentScaleFactor;
CGContextScaleCTM(context, scale, scale);
[self.myView.layer renderInContext:context];