空图形上下文

Posted

技术标签:

【中文标题】空图形上下文【英文标题】:Null Graphics Context 【发布时间】:2014-04-07 22:27:26 【问题描述】:

这是我正在使用的代码摘录:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^


    UIGraphicsBeginImageContextWithOptions(irect.size, YES, 0.0 );
    CGContextRef context = UIGraphicsGetCurrentContext();
    if (context == 0)
        NSLog (@"Null Graphics Context") ;
    else
        NSLog (@"OK") ;

    . . . .
    // Various drawing functions

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
  ) ;

我发现对 UIGraphicsGetCurrentContext 的所有其他调用都返回 NULL。我在控制台上收到此消息。

CGContextRestoreGState:无效的上下文 0x0。这是一个严重的错误。此应用程序或它使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体下降。此通知是出于礼貌:请解决此问题。这将在即将到来的更新中成为致命错误。

什么会导致 UIGraphicsGetCurrentContext 返回无效的图形上下文?

【问题讨论】:

您的问题中没有足够的信息。你看过这个帖子吗? ***.com/questions/12424690/… 【参考方案1】:

正如评论所建议的,答案是传递给UIGraphicsBeginImageContextWithOptionsCGRect 的面积为零。这显然是它无法创建图形上下文的情况。

【讨论】:

我有同样的问题,这就是答案,检查宽度和高度是否不为 0。

以上是关于空图形上下文的主要内容,如果未能解决你的问题,请参考以下文章

图形上下文的矩阵操作(平移-缩放-旋转)

翻译图形上下文

iOS - 图形上下文绘图

图形上下文有问题

绘制非常大的图形上下文的最佳实践

关于上下文的核心图形问题。 CGContextFillRects:无效的上下文 0xa88a500