CGImage
aを 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>!
)