1

问题是 :

在 iPhone7 上工作时,

我从中得到CGContextRefUIView然后bitsPerPixel64。因为我的.a只能与 bitsPerPixel 为 32 的传统 RGB 颜色空间位图缓冲区一起使用,

有人可以知道如何将CGContextRef其色彩空间的颜色转换为tranditional CGContextRefiPhone6 上的颜色吗?

4

1 回答 1

0

解决方案如下:

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_3
-(void) layerWillDraw:(CALayer *)layer 
{
    if( [[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0 )
    {
        NSString* format = layer.contentsFormat;
        if( ![format isEqualToString:kCAContentsFormatRGBA8Uint]  )
            layer.contentsFormat = kCAContentsFormatRGBA8Uint;
    }
}
#endif

将上面的代码添加到您将要绘制的视图中,然后从视图中获取的 CGContextRef 是传统的,就像在 iPhone6 上一样

于 2016-10-28T03:52:23.127 回答