我一直在使用GPUImage
对于我的项目,我遇到了这个问题imageFromCurrentFramebuffer
对于某些返回 nilGPUImageLookupFilter's
.
我子类化了GPUImageFilterGroup
就像在GPUImageAmatorkaFilter
我的代码如下:
-(MTLookupFilter *) initWithLookupImageName:(NSString *) lookupImageName {
self = [super init];
if (self) {
UIImage *image = [UIImage imageNamed:lookupImageName];
self.lookupImageSource = [[GPUImagePicture alloc] initWithImage:image];
GPUImageLookupFilter *lookupFilter = [[GPUImageLookupFilter alloc] init];
[self addFilter:lookupFilter];
[self.lookupImageSource addTarget:lookupFilter atTextureLocation:1];
[self.lookupImageSource processImage];
self.initialFilters = [NSArray arrayWithObjects:lookupFilter, nil];
self.terminalFilter = lookupFilter;
}
return self;
}
我将此类的几个对象添加到数组中,并使用:
- (IBAction)filterAction:(id)sender {
NSInteger index = arc4random()%self.filtersArray.count;
id filter = self.filtersArray[index];
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:self.fullImage];
UIImage *filteredimage = nil;
[stillImageSource addTarget:filter];
[stillImageSource processImage];
[filter useNextFrameForImageCapture];
filteredimage = [filter imageFromCurrentFramebuffer];
if (filteredimage) {
self.imageView.image = filteredimage;
} else {
NSLog(@"Filtered image is nil");
}
}
返回的图像来自imageFromCurrentFramebuffer
有时为零,我不明白其原因。我将不胜感激任何帮助。有时即使对于过滤器图像也为零,GPUImageAmatorkaFilter
, GPUImageSoftEleganceFilter
和`GPUImageMissEtikateFilter,所以我知道这不是我的子类的问题。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)