7

UISliderを使用してカメラをズームしたい。

AVCaptureVideoPreviewLayerのAffineTransformを調整することで成功しました。

これがそのコードです

-(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];
}

しかし、それをキャプチャすると、ズームされていない画像のオブジェクトが得られます。

4

2 に答える 2