为什么我没有得到CGContextRef

时间:2011-01-17 19:16:53

标签: objective-c ipad ios-4.2

我尝试从UIImage获取CGContextRef。调试器中的CGContextRef始终为0x0。

以下是代码:

NSString *movName = imgName;
        NSString *path = [[NSBundle mainBundle] pathForResource:movName ofType:@"png"];
        UIImage *image = [[UIImage alloc] initWithContentsOfFile:path];

        CGImageRef imageRef = [image CGImage];
        CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef);
        CGColorSpaceRef colorSpaceInfo = CGImageGetColorSpace(imageRef);

        CGContextRef bitmap = CGBitmapContextCreate(NULL, 
                                                    100, 
                                                    100, 
                                                    CGImageGetBitsPerComponent(imageRef), 
                                                    CGImageGetBytesPerRow(imageRef), 
                                                    colorSpaceInfo, 
                                                    bitmapInfo);

谢谢你的回答

1 个答案:

答案 0 :(得分:2)

documentation

中详细说明了NULL结果
  

返回值:
  新的位图上下文,如果无法创建上下文,则为NULL

首先,我将调查您传递给函数的参数。源图像可能未正确加载。你试过调试这段代码吗?调试器告诉你什么?