2015-11-14 2 views
1

По какой-то причине попытка применить CIComicEffect дает мне ошибку GLES, которую я поставил в заголовке. Вот мой код:Программа CIFilter iOS «превышает общие ограничения GLES».

CGImageRef imageRef = imageToPass.CGImage; 

CIContext *context = [CIContext contextWithOptions:nil];    // 1 

CIImage *image = [CIImage imageWithCGImage:imageRef];    // 2 

CIFilter *filter = [CIFilter filterWithName:@"CIComicEffect"];   // 3 

[filter setValue:image forKey:kCIInputImageKey]; 

//[filter setValue:@0.8f forKey:kCIInputIntensityKey]; 

CIImage *result = [filter valueForKey:kCIOutputImageKey];    // 4 

CGRect extent = [result extent]; 

CGImageRef cgImage = [context createCGImage:result fromRect:extent]; // 5 

UIImageOrientation originalOrientation = imageToPass.imageOrientation; 
CGFloat originalScale = imageToPass.scale; 

imageToPass = [UIImage imageWithCGImage:cgImage scale:originalScale orientation:originalOrientation]; 

У меня есть идея, что происходит не так. Кроме того, поиск в Google практически не работает. Вот соответствующие IOS документы:
https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/filter/ci/CIComicEffect

https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/QuartzCoreFramework/Classes/CIFilter_Class/index.html#//apple_ref/occ/cl/CIFilter

+0

, как велико изображение? вы попробовали что-то меньшее? –

ответ

1

Я не могу видеть, где это происходит в вашем коде, но, скорее всего, вы выполняете этот код несколько раз, так что фильтр будет применяться снова и снова , I.e., imageToPass - это как результат, так и вход для следующей итерации.

 Смежные вопросы

  • Нет связанных вопросов^_^