2016-11-29 7 views
2

Я использую CIImage и CIFilter для фильтрации изображения. После этого, я пытаюсь получить данные изображения UIImageJPEGRepresentation, но я получаю нулевые данные.Невозможно получить данные изображения от CIImage

CIImage *beginImage = [[CIImage alloc] initWithImage:sourceImage]; 

CIContext *context = [CIContext contextWithOptions:nil]; 

CIFilter *filter = [CIFilter filterWithName:effect keysAndValues:kCIInputImageKey, beginImage, nil]; 

CIImage *outputImage = [filter outputImage]; 

CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]]; 

UIImage *filteredImage = [UIImage imageWithCIImage:outputImage]; 
CGImageRelease(cgimg); 

NSData *imageData = UIImageJPEGRepresentation(filteredImage, 1.0); 

Я получаю нулевые данные, когда я консолю imageData. Пожалуйста, проверьте мой вышеприведенный код и дайте мне знать, где я делаю неправильно.

+0

, что значение эффекта? в этой строке CIFilter * filter = [Фильтр CIFilterWithName: ключи эффектаAndValues: kCIInputImageKey, beginImage, nil]; –

ответ

1

// создаем наше размытое изображение, попробуем эту надежду на его работу для вас.

CIContext *context = [CIContext contextWithOptions:nil]; 
CIImage *inputImage = [CIImage imageWithCGImage:theImage.CGImage]; //theImage pass your image 
CIFilter *filter1 = [CIFilter filterWithName:@"CIGaussianBlur"]; 
[filter1 setValue:inputImage forKey:kCIInputImageKey]; 
CIImage *result = [filter1 valueForKey:kCIOutputImageKey]; 
CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]]; 
UIImage *returnImage = [UIImage imageWithCGImage:cgImage]; // returnImage is your blur image 
CGImageRelease(cgImage); 
2

Ваша проблема здесь вы передаете CIImage

UIImage *filteredImage = [UIImage imageWithCIImage:outputImage]; 

Но вы должны пройти CGImageRef при создании UIImage записи этого

UIImage *filteredImage = [[UIImage alloc] initWithCGImage:cgimg]; 

Я надеюсь, что это поможет вам

+0

Спасибо за ответ. Это сработало. –

+0

Вы хорошо приехали –

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

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