我用它来生成一个大图像:

let context = CIContext(options: nil)
let bitmapImage: CGImageRef = context.createCGImage(image, fromRect: extent)!
CGContextSetInterpolationQuality(bitmapRef,  CGInterpolationQuality.None)
CGContextScaleCTM(bitmapRef, scale, scale);
CGContextDrawImage(bitmapRef, extent, bitmapImage);
let scaledImage: CGImageRef = CGBitmapContextCreateImage(bitmapRef)!
return UIImage(CGImage: scaledImage)

它在iOS 9和10中运行良好,但在8中却无法运行。我在调试器中获得了此功能:



此外。我尝试使用let context = CIContext()代替。但是我在第二行中得零分。我正在使用Xcode 8和Swift 2.3。请在这件事上给予我帮助!谢谢!

最佳答案

我不知道这是否行得通,但是我们应该尝试一下:让我们在Objective-C中编写该行。所以:

ContextMaker.h

#import <Foundation/Foundation.h>
#import <CoreImage/CoreImage.h>

@interface ContextMaker : NSObject

+ (CIContext*) makeMeAContext;

@end

ContextMaker.m
#import "ContextMaker.h"

@implementation ContextMaker

+ (CIContext*) makeMeAContext {
    return [CIContext contextWithOptions:nil];
}

@end

桥接头:
#import "ContextMaker.h"

swift :
let c = ContextMaker.makeMeAContext()

只需花一点时间就可以尝试一下,因此请试一试,看看我们是否可以通过麻烦的路线...

09-25 20:55