【问题标题】:iPhone cannot create CGBitmapContextiPhone 无法创建 CGBitmapContext
【发布时间】:2010-12-14 11:18:55
【问题描述】:

我在创建 CGBitmapContext 时遇到问题。

CGContextRef bitmapContext = CGBitmapContextCreate(nil, imageSize.width, imageSize.height, 8, imageSize.width * 4, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaNoneSkipFirst)

当我正常运行我的应用程序时,它可以工作。但是当我在我的“测试应用程序”(一个正在运行的应用程序将执行我的测试)中运行它时,上下文被记录为(null)并且我得到以下错误:

<Error>: CGContextSetFillColorWithColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
<Error>: CGContextDrawImage: invalid context 0x0
<Error>: CGContextDrawImage: invalid context 0x0
<Error>: CGBitmapContextCreateImage: invalid context 0x0

我的应用程序没有崩溃。但显然有些不对劲。 (我知道错误是通过使用 nil 上下文调用这些方法创建的)。

【问题讨论】:

    标签: iphone xcode core-graphics


    【解决方案1】:

    当您尝试创建的位图大小为 CGSizeZero 时,通常会出现此错误。检查 imageSize 的实际值。

    此外,您还泄漏了传递给函数的 CGColorSpaceRef。

    【讨论】:

      【解决方案2】:

      您是否检查 CGBitmapContextCreate 返回值是否为非零?如果设备上没有足够的可用内存来创建上下文,您将得到一个 nil 值。

      您在应用程序中使用了多少内存以及您要求的位图尺寸是多少?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-06
        • 1970-01-01
        • 2015-02-20
        • 1970-01-01
        相关资源
        最近更新 更多