GPUImage混合filter

我正在尝试将混合filter应用于2张图片。
我最近更新GPUImage到最后的版本。 为了使事情变得简单,我修改了SimpleImageFilter的例子。
这里是代码:

  UIImage * image1 = [UIImage imageNamed:@"PGSImage_0000.jpg"]; UIImage * image2 = [UIImage imageNamed:@"PGSImage_0001.jpg"]; twoinputFilter = [[GPUImageColorBurnBlendFilter alloc] init]; sourcePicture1 = [[GPUImagePicture alloc] initWithImage:image1 ]; sourcePicture2 = [[GPUImagePicture alloc] initWithImage:image2 ]; [sourcePicture1 addTarget:twoinputFilter]; [sourcePicture1 processImage]; [sourcePicture2 addTarget:twoinputFilter]; [sourcePicture2 processImage]; UIImage * image = [twoinputFilter imageFromCurrentFramebuffer]; 

返回的图像是nil应用一些断点我可以看到filter内部的方法失败- (CGImageRef)newCGImageFromCurrentlyProcessedOutput的问题是, framebufferForOutput是nil.Im使用模拟器。
我不明白为什么它不工作。

看来我错过了这个命令,正如静止image processing文档中所写:

请注意,为了从filter中手动捕获图像,您需要设置-useNextFrameForImageCapture以便告诉filter,以后需要从中捕获该filter。 默认情况下,GPUImage在filter中重用帧缓冲区以节省内存,因此如果您需要抓住filter的帧缓冲区以进行手动图像捕获,则需要提前知道该帧缓冲区。

 [twoinputFilter useNextFrameForImageCapture];