fre*_*cer 6 iphone xcode objective-c avfoundation ios
我想使用UISlider缩放相机.
我已经通过调整成功地完成它的AffineTransform的AVCaptureVideoPreviewLayer.
这是代码
-(void)sliderAction:(UISlider*)sender{
CGAffineTransform affineTransform = CGAffineTransformMakeTranslation(sender.value, sender.value);
affineTransform = CGAffineTransformScale(affineTransform, sender.value, sender.value);
affineTransform = CGAffineTransformRotate(affineTransform, 0);
[CATransaction begin];
[CATransaction setAnimationDuration:.025];
//previewLayer is object of AVCaptureVideoPreviewLayer
[[[self captureManager]previewLayer] setAffineTransform:affineTransform];
[CATransaction commit];
}
Run Code Online (Sandbox Code Playgroud)
但是当我捕捉到它时,我会得到非缩放的图像对象.
首先,您的代码仅缩放图层内容而不缩放CMSampleBuffer。CVPixelBuffer您的下一个解决方法是对from进行缩放CMSampleBuffer并保存缩放CMSampleBuffer至AVWriter。您可以使用Accelerate.framework来扩展CVPixelBuffer。