[英]I want to convert a CIImage to UIImage but failed
我有一個格式為kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
( YCC420f
或N12
)的CIImage,現在我想看看圖像是什么樣的,所以我把它轉換為UIImage使用這個方法:
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];
當圖像格式為BGRA
,它可以正常工作,但對於NV12
,控制台中的錯誤信息:
Render failed because a pixel format YCC420f is not supported.
順便說一句,ciimage來自CVPixelBufferRef,而CVPixelBufferRef來自GL紋理的地址。
現在,我該怎么辦?
只是一行簡單的代碼(可從IOS 5.0獲得)
UIImage * uiImage = [[UIImage alloc] initWithCIImage:ciImage];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.