代码之家  ›  专栏  ›  技术社区  ›  tcurdt

放大AVCaptureVideoPreviewLayer

  •  0
  • tcurdt  · 技术社区  · 4 年前

    我正在建立一个 AVCaptureVideoPreviewLayer 在预览中显示完整的视频输入。现在我想放大(图层)。我试图在地面上进行缩放和变换 CALayer 数量不过,这似乎不适用于缩放。

    let layer = AVCaptureVideoPreviewLayer(session: session)
    layer.videoGravity = AVLayerVideoGravity.resizeAspectFill
    //layer.transform = CATransform3DMakeScale(4.0,4.0,1.0)
    //layer.setAffineTransform(CGAffineTransform(scaleX: 4.0, y: 4.0))
    //layer.contentsScale = 4;
    layer.addSublayer(createOverlay())
    view.layer!.addSublayer(layer)
    

    其他人 asked a similar question 不幸的是,被接受的答案是 AVCaptureDevice ,但在我的例子中,输入是 AVCaptureScreenInput .在这里,我还试图从源头上改变这一点。

    let input = AVCaptureScreenInput(displayID: displayId) {
    //input.cropRect = CGRect(x: 0, y: 0, width: 400, height: 200)
    //input.scaleFactor = 4.0
    session.addInput(input)
    

    到目前为止,这些方法都没有奏效。怎么做?

    0 回复  |  直到 4 年前