CIContext drawImage不起作用

时间:2015-05-28 18:36:18

标签: ios cocoa-touch opengl-es-2.0 glkit glkview

我并不是真正了解CI库,只有从未使用过图形或图像处理的人才能获得Apple文档中的功能描述。

我需要能够处理每个帧(来自相机),并根据处理的帧使用变换箭头在每个帧上叠加一个叠加。因此,每次从过滤器制作CGImage而不是直接绘制CIImage,似乎浪费资源,在iPhone 4S上我真的需要更多的性能。

所以,在我使用[context drawImage]直接绘制CIImage的试用中得到了以下内容

1)我尝试在下面的简单UIView中绘制上下文

[context drawImage:arrow inRect:overlayView.frame fromRect:arrow.extent];

箭头是来自CIFilter的有效CIImage。它是有效的,因为如果我将它转换为CGImage,则会进行投影。

上下文如下:

    eaglContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

    [EAGLContext setCurrentContext:eaglContext];

    glkView.context = eaglContext;
    glkView.delegate = self;

    NSDictionary *options = @{kCIContextWorkingColorSpace : [NSNull null]};

    context = [CIContext contextWithEAGLContext:eaglContext options:options];

overlayView已连接,evr可以正常使用。

2)之后,我尝试使用GLKView,在ViewController上设置委托

  • 在rect中绘制被称为
  • 我可以使用一些基本的opengl代码修改glkview颜色

*!但它永远不会绘制我的CI​​Image,即使它是一个有效的图像,大小可以很容易地转换成CGImage

绘图代码(在glkView:drawInRect中)是相同的

[context drawImage:arrow inRect:glkView.frame fromRect:arrow.extent];

一些建议?

0 个答案:

没有答案