7

我使用AVFoundation框架来显示来自相机的视频。

我如何使用它的代码是通常的:

session = [[AVCaptureSession alloc] init] ;
...   
captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
...
[cameraView.layer addSublayer:captureVideoPreviewLayer];
...

所以我想为相机添加缩放功能。

我找到了 2 个如何实现缩放的解决方案。

首先:是使用CGAffineTransform

cameraView.transform = CGAffineTransformMakeScale(x,y);

第二:是将cameraView放在滚动视图中,设置最大和最小滚动并将此视图设置为缩放视图。

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return cameraView;
}

使缩放性能和质量更好的最佳方法是什么?还有其他解决方案可以进行缩放吗?也许我错过了一些AVFoundation缩放方法。

谢谢你。

4

1 回答 1

6

那么实际上有一个GCFloatsetVideoScaleandCropFactor.

您可以在此处找到文档。

我不确定这是否仅用于静态图像输出,但我一直在努力,如果您将其设置为手势或滑块并让它控制浮动,效果会很好。

你可以在这里找到它的演示。

好东西。我试图循环它,这样我就可以创建一个带缩放的条形码扫描仪。我在做什么虽然很粗糙哈哈。

于 2013-05-25T13:15:52.097 回答