Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 将YUV框架转换为CGV上下文_Objective C_Frame_Cgcontext_Yuv - Fatal编程技术网

Objective c 将YUV框架转换为CGV上下文

Objective c 将YUV框架转换为CGV上下文,objective-c,frame,cgcontext,yuv,Objective C,Frame,Cgcontext,Yuv,如何将YUV帧数据写入CGContext 请帮帮我 非常感谢。关于您需要执行的操作以及一些伪代码的一般路线图如下所示: 首先创建要绘制的CG位图上下文。的像素格式列表可用。正如你在iOS上看到的那样,你唯一的选择是一些16或32 bpp的RGB风格和alpha通道。Mac OS X上有更多的选项,但您仍然希望使用一些RGB风格 CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef frameCont

如何将YUV帧数据写入CGContext

请帮帮我


非常感谢。

关于您需要执行的操作以及一些伪代码的一般路线图如下所示:

  • 首先创建要绘制的CG位图上下文。的像素格式列表可用。正如你在iOS上看到的那样,你唯一的选择是一些16或32 bpp的RGB风格和alpha通道。Mac OS X上有更多的选项,但您仍然希望使用一些RGB风格

    CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef frameContext = CGBitmapContextCreate(NULL, w, h, 8, bytesPerRow, rgbColorSpace, kCGImageAlphaNoneSkipFirst);
    CGColorSpaceRelease(rgbColorSpace);
    void * data = CGBitmapContextGetData(frameContext);
    
  • 将YUV帧数据转换为RGB,并将RGB数据写入CG位图上下文的数据缓冲区。您可以在计算机上获得如何执行此操作的公式

  • 将CG位图上下文转换为CG图像

    CGImageRef frameImage = CGBitmapContextCreateImage(frameContext);
    
  • 将CG图像绘制到CG上下文中

    CGContextDrawImage(myCGContext, myCGRect, frameImage);