2016-08-18 6 views
3

나는 형식 kCVPixelFormatType_420YpCbCr8BiPlanarFullRange (YCC420f 또는 N12)와 CIImage이 실패, 그래서 나는이 방법을 사용하여 UIImage로 변환 :나는있는 UIImage에 CIImage을 변환 할하지만 이미지가 어떻게 생겼는지보고 싶어 지금

Render failed because a pixel format YCC420f is not supported. 

Btw는의 ciimage가 CVPixelBufferRef에서 제공하고 CVPixelBufferRef : 이미지의 형식, 오류 콘솔 메시지 BGRA 아니지만 NV12에 대한 때

CIImage *ciImage = [CIImage imageWithCVPixelBuffer:new_buffer]; 

CIContext *temporaryContext = [CIContext contextWithOptions:nil]; 
CGImageRef videoImage = [temporaryContext 
          createCGImage:ciImage 
           fromRect:CGRectMake(0, 0, 
             CVPixelBufferGetWidth(new_buffer), 
             CVPixelBufferGetHeight(new_buffer))]; 

UIImage *uiImage = [UIImage imageWithCGImage:videoImage]; 

그건 잘 작동합니다 GL 텍스처의 주소에서옵니다.

이제 어떻게해야합니까?

+0

사용 UIImage * uiImage = [[UIImage alloc] initWithCIImage : ciImage]; imageWithCGImage : – AleyRobotics

+0

@Yuri 같은 문제가 있습니다. 그리고 CIImage-> CGImageRef-> UIImage가 더 좋을 때, imageWithCIImage는 때때로 오류 메시지없이'nil'을 반환 할 수 있습니다. –

+0

작동 형식 7 : UIImage * uiImage = [[UIImage alloc] initWithCIImage : ciImage]; – Adeel

답변

0

(IOS 5.0 제품) 코드의 단순한 라인

있는 UIImage있는 UIImage * = [있는 UIImage ALLOC] initWithCIImage : ciImage];