小编Mac*_*Mac的帖子

QML视频alpha混合/将视频渲染为Qt快速场景图

我正在尝试使用RGBA中的视频在QML中获得alpha混合效果.

现在的问题是QtMultimedia提供的视频项实际上在QtQuick场景中打开了一个重叠窗口,所以我认为不可能将其他QML元素与视频元素进行alpha混合(我当然希望我错了,但是我找不到解决方案).

另一种方法是在updatePaintNode方法中自己在一个继承自QQuickItem的类中呈现视频.

  1. 以前有人见过这样的事吗?如果QtMultimedia背后的人无法实现它,它甚至可能吗?

  2. 我可以更改MediaPlayer元素的背景,可能是透明的还是只是QML中的颜色?

到目前为止,我一直在考虑QAbstractVideoSurface和QVideoFrame但我不知道如何将其渲染到QSG上,甚至不知道GeometryNode应该如何查找视频.

最好的解决方案是在其他QML元素中进行alpha混合,例如:

Rectangle {
  width: 1024
  height: 768
  color: "yellow"

  focus: true

  Video {
    id: video
    anchors.fill: parent
    source: "alpha-video.mov"

    autoPlay: true
  }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

qt alphablending qml qtquick2

7
推荐指数
1
解决办法
1464
查看次数

标签 统计

alphablending ×1

qml ×1

qt ×1

qtquick2 ×1