2012-07-17 2 views

답변

1

일부 의사 코드와 함께해야 할 일의 일반적인 로드맵은 다음과 같습니다

  1. 첫째로 그릴 수있는 CG 비트 맵 컨텍스트를 생성합니다. 픽셀 형식 목록은 here입니다. iOS에서 볼 수 있듯이 실제 옵션은 16 bpp 또는 32 bpp의 RGB와 알파 채널의 몇 가지 맛입니다. Mac OS X에는 더 많은 옵션이 있지만 여전히 RGB의 맛을 원합니다.

    CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB(); 
    CGContextRef frameContext = CGBitmapContextCreate(NULL, w, h, 8, bytesPerRow, rgbColorSpace, kCGImageAlphaNoneSkipFirst); 
    CGColorSpaceRelease(rgbColorSpace); 
    void * data = CGBitmapContextGetData(frameContext); 
    
  2. RGB가 YUV로 프레임 데이터를 변환하고, 비트 맵 CG 컨텍스트에 대한 데이터 버퍼로 RGB 데이터를 기록. Wikipedia page for YUV에서 수식을 얻을 수 있습니다.

  3. CG 비트 맵 컨텍스트를 CG 이미지로 변환합니다.

    CGImageRef frameImage = CGBitmapContextCreateImage(frameContext); 
    
  4. CG 이미지를 CG 컨텍스트에 그립니다.

    CGContextDrawImage(myCGContext, myCGRect, frameImage); 
    
관련 문제