CIContext drawImage:inRect:fromRect: 不起作用
CIContext drawImage:inRect:fromRect: doesn't work
我有一个 GLKView
的子类用于用户绘图。但我还需要在他打开相应的屏幕时绘制他最新的绘图图像。问题出在第二部分,因为我似乎做错了什么导致 drawImage:inRect:fromRect:
无法工作。
这是我的绘图代码。
-(void)setSignatureImage:(UIImage *)image {
EAGLContext *context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
self.context = context;
[EAGLContext setCurrentContext:context];
self.drawableDepthFormat = GLKViewDrawableDepthFormat24;
self.enableSetNeedsDisplay = YES;
CIContext *cicontext = [CIContext contextWithEAGLContext:context options:@{kCIContextWorkingColorSpace : [NSNull null]} ];
UIImage *pre_img = image;
CIImage *outputImage = [CIImage imageWithCGImage:pre_img.CGImage];
if (outputImage) {
[cicontext drawImage:outputImage inRect:[outputImage extent] fromRect:[outputImage extent]];
}
}
通过在我的子类的 drawRect 方法中编写这段代码解决了这个问题。
我有一个 GLKView
的子类用于用户绘图。但我还需要在他打开相应的屏幕时绘制他最新的绘图图像。问题出在第二部分,因为我似乎做错了什么导致 drawImage:inRect:fromRect:
无法工作。
这是我的绘图代码。
-(void)setSignatureImage:(UIImage *)image {
EAGLContext *context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
self.context = context;
[EAGLContext setCurrentContext:context];
self.drawableDepthFormat = GLKViewDrawableDepthFormat24;
self.enableSetNeedsDisplay = YES;
CIContext *cicontext = [CIContext contextWithEAGLContext:context options:@{kCIContextWorkingColorSpace : [NSNull null]} ];
UIImage *pre_img = image;
CIImage *outputImage = [CIImage imageWithCGImage:pre_img.CGImage];
if (outputImage) {
[cicontext drawImage:outputImage inRect:[outputImage extent] fromRect:[outputImage extent]];
}
}
通过在我的子类的 drawRect 方法中编写这段代码解决了这个问题。