gpt4 book ai didi

ios - 如何在 AVCaptureVideoPreviewLayer 上添加叠加层?

转载 作者:行者123 更新时间:2023-11-28 06:18:10 24 4
gpt4 key购买 nike

我正在使用 Swift 构建一个 iOS 应用程序,它需要二维码扫描器功能。

我已经使用 AVFoundation 实现了一个 QR 码扫描仪,现在我的捕获屏幕看起来和视频录制屏幕一样,即 AVCaptureVideoPreviewLayer 显示相机捕获的内容。

但由于它是一个 QR 码扫描仪而不是常规图像或视频捕获,我希望我的 VideoPreviewLayer 看起来像这样: camera overlay screenshot

我知道这可以通过在一个 VideoPreviewLayer 之上添加另一个 VideoPreviewLayer 来实现。

我的问题是:

  1. 如何仅将边框添加到上层(或更小)预览层的边缘?

  2. 如何在后台更改 VideoPreviewLayer 的亮度级别?

  3. 如何忽略背景层捕获的媒体?

最佳答案

您不应该使用另一个 VideoPreviewLayer。相反,您应该添加两个子层 - 一个用于蒙版背景区域,一个用于角落。

查看此 repo 中的源代码举个例子。

要将视频捕获限制在屏蔽区域,您必须设置 AVCaptureMetadataOutputrectOfInterest

let rectOfInterest = videoPreviewLayer.metadataOutputRectConverted(fromLayerRect: rect)
metadataOutput.rectOfInterest = rectOfInterest

关于ios - 如何在 AVCaptureVideoPreviewLayer 上添加叠加层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44480378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com