QML叠加在摄像机视频上

时间:2016-06-13 23:37:19

标签: qt qml qtmultimedia

我正在尝试在Qt / QML中的Camera objet捕获的帧上绘制一些叠加。相机本身定义为:

Camera {
    id: camera
    captureMode: Camera.CaptureVideo
}
VideoOutput {
    source: camera
    focus : visible 
    anchors.fill: parent
}

现在,当我拨打camera.videorecorder.record()时,相机开始录制,当前帧将显示在视频输出画布上。现在,我想要做的是在框架上的任意位置绘制一个矩形。

我看到有一些着色器效果示例(http://doc.qt.io/qt-5/qtmultimedia-multimedia-video-qmlvideofx-example.html)但是它们看起来非常复杂,我想做什么而且我不熟悉GLSL。

1 个答案:

答案 0 :(得分:3)

这样的东西?

Camera {
    id: camera
    captureMode: Camera.CaptureVideo
}

VideoOutput {
    source: camera
    focus : visible
    anchors.fill: parent
    Rectangle {
            color: "red";
            width: parent.width / 2;
            height: parent.height / 2;
            anchors.centerIn: parent;
   }
}

修改 这也有效:

Camera {
    id: camera
    captureMode: Camera.CaptureVideo
}
VideoOutput {
    source: camera
    focus : visible
    anchors.fill: parent
}
Rectangle {
        color: "red";
        width: parent.width / 2;
        height: parent.height / 2;
        anchors.centerIn: parent;
}