CGBitmapContextCreate在除iPhone 4照片之外的任何内容上返回nil

时间:2011-07-19 13:50:49

标签: iphone quartz-graphics null bounds cgbitmapcontextcreate

我很确定这是一个愚蠢的编码错误,因为我在iOS中是一个新手,特别是在Quartz上。

我有以下代码 - 适用于我用iPhone的相机拍摄的照片,但是当我为不同尺寸的任何照片或风景照片创建上下文时,它会返回nil(在ctx中)。我有点不确定为什么会发生这种情况,我很想听听你对此的看法:)。

提前致谢,
晒。

self.imageView.frame = CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y, 1936, 2592);

CGImageRef imageRef = [self.filteredImage CGImage];
CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef);

int targetWidth = imageView.bounds.size.width;
int targetHeight = imageView.bounds.size.height;

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef ctx;

if (self.filteredImage.imageOrientation == UIImageOrientationUp || self.filteredImage.imageOrientation == UIImageOrientationDown) {
    ctx = CGBitmapContextCreate(NULL, targetWidth, targetHeight, CGImageGetBitsPerComponent(imageRef), CGImageGetBytesPerRow(imageRef), colorSpace, bitmapInfo);

} else {
    ctx = CGBitmapContextCreate(NULL, targetHeight, targetWidth, CGImageGetBitsPerComponent(imageRef), CGImageGetBytesPerRow(imageRef), colorSpace, bitmapInfo);
}

0 个答案:

没有答案