CGBitmapContextGetData()返回NULL

时间:2015-02-05 21:00:08

标签: ios

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

self._bitmapContext = CGBitmapContextCreate(
        NULL,
        pixelWidth,
        pixelHeight,
        8,
        4 * pixelWidth,
        colorSpace,
        (CGBitmapInfo)kCGImageAlphaPremultipliedFirst );
if (self._bitmapContext) {
    // this is NULL
    char *bitmapData = CGBitmapContextGetData(self._bitmapContext);
} else {
    NSLog(@"Couldn't create bitmap\n");
}
  

如果您为数据传递NULL   创建位图上下文时的指针,获取数据是安全的   iOS 4.0及更高版本中的指针和OS X v10.6及更高版本。在早些时候   操作系统的各个版本,为数据参数传递NULL   不受支持,并且在尝试访问时可能导致崩溃   这个数据使用这个函数

我的目标是iOS 8.1

Quartz似乎没有创建支持数据 - 因此我无法创建图像。

1 个答案:

答案 0 :(得分:2)

我猜想最后一个参数不足以让iOS创建位图 - 我只看了一些代码,这就是我在iOS应用程序中使用的内容:

kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little

如果不这样做,请记录您正在使用的像素宽度/高度(请实际记录,而不是设定)。