想要使用AVFoundation框架在iphone相机中进行缩放功能

fre*_*cer 6 iphone xcode objective-c avfoundation ios

我想使用UISlider缩放相机.

我已经通过调整成功地完成它的AffineTransformAVCaptureVideoPreviewLayer.

这是代码

-(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)

但是当我捕捉到它时,我会得到非缩放的图像对象.

Vod*_*Ion 0

首先,您的代码仅缩放图层内容而不缩放CMSampleBufferCVPixelBuffer您的下一个解决方法是对from进行缩放CMSampleBuffer并保存缩放CMSampleBufferAVWriter。您可以使用Accelerate.framework来扩展CVPixelBuffer