6

CGImageaを aCVPixelBufferに迅速に変換するにはどうすればよいですか?

私は反対のことをしようとする多くの質問と、このようないくつかの客観的な C の回答を認識していますが、それらを迅速に機能させることができませんでした。これが私が持っている最も近いものです:

func pixelBufferFromCGImage(image: CGImage) -> CVPixelBuffer {
    var pxbuffer: CVPixelBuffer? = nil
    let options: NSDictionary = [:]

    let width =  image.width
    let height = image.height
    let bytesPerRow = image.bytesPerRow

    let dataFromImageDataProvider = image.dataProvider!.data
    let x = CFDataGetBytePtr(dataFromImageDataProvider)

    CVPixelBufferCreateWithBytes(
        kCFAllocatorDefault,
        width,
        height,
        kCVPixelFormatType_32ARGB,
        CFDataGetBytePtr(dataFromImageDataProvider),
        bytesPerRow,
        nil,
        nil,
        options,
        &pxbuffer
    )
    return pxbuffer!;
}

CVPixelBufferCreateWithBytes( UnsafeMutablePointer を除き、CFDataGetBytePtr(dataFromImageDataProvider)であるため、これはコンパイルされませんUnsafePointer<UIint8>!)

4

1 に答える 1