我试图从相机中获得尽可能好的图像,但只能找到示例captureStillImageAsynchronouslyFromConnection
然后直接转到:
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
UIImage *image = [[UIImage alloc] initWithData:imageData];
JPEG 是有损的,有什么方法可以将数据获取为 PNG,甚至只是 RGBA(BGRA,你有什么?)。AVCaptureStillImageOutput 似乎没有任何其他 NSData* 方法....
其实看CMSampleBufferRef,好像已经被锁定为JPEG了~
formatDescription = <CMVideoFormatDescription 0xfe5e1f0 [0x3e5ac650]> {
mediaType:'vide'
mediaSubType:'jpeg'
mediaSpecific: {
codecType: 'jpeg' dimensions: 2592 x 1936
}
extensions: {(null)}
}
还有其他方法可以拍摄全分辨率照片并获取原始数据吗?