我很确定这是一个愚蠢的编码错误,因为我在 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);
}