2012-07-17 68 views

回答

1

你需要一些僞代碼一起做一般的路線圖是這樣的:

  1. 首先創建一個CG背景位圖進行繪製。像素格式列表可用here。正如你可以在iOS上看到的,你唯一真正的選擇是RGB的一些味道,16 bpp或32 bpp和一個alpha通道。在Mac OS X上有更多選項,但您仍然想使用RGB的某種風格。

    CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB(); 
    CGContextRef frameContext = CGBitmapContextCreate(NULL, w, h, 8, bytesPerRow, rgbColorSpace, kCGImageAlphaNoneSkipFirst); 
    CGColorSpaceRelease(rgbColorSpace); 
    void * data = CGBitmapContextGetData(frameContext); 
    
  2. 將您的YUV幀數據爲RGB和RGB數據寫入的CG位背景數據緩衝區。您可以在Wikipedia page for YUV上獲得如何執行此操作的公式。

  3. 將CG位圖上下文轉換爲CG圖像。

    ​​
  4. 將CG圖像繪製到CG上下文。

    CGContextDrawImage(myCGContext, myCGRect, frameImage);