RGBA のビデオで QML のアルファブレンディング効果を得ようとしています。
ここでの問題は、QtMultimedia によって提供される Video Item が実際に QtQuick シーンでオーバーレイ ウィンドウを開くことです。そのため、他の QML 要素を Video 要素とアルファ ブレンドすることはできないと思います (間違っていることを願っていますが、解決策が見つかりません)。
したがって、もう 1 つの方法は、updatePaintNode メソッドで、QQuickItem から継承するクラスで自分自身でビデオをレンダリングすることです。
誰もこのようなものを見たことがありますか?QtMultimedia の背後にいる人たちがそれを達成できなかったとしても、それは可能ですか?
MediaPlayer 要素の背景を変更したり、透明にしたり、QML の色にしたりすることはできますか?
これまでのところ、QAbstractVideoSurface と QVideoFrame について考えていましたが、それを QSG にレンダリングする方法や、GeometryNode がビデオを探す方法さえわかりません。
最善の解決策は、たとえば次のように、他の QML 要素とのアルファ ブレンディングを取得することです。
Rectangle {
width: 1024
height: 768
color: "yellow"
focus: true
Video {
id: video
anchors.fill: parent
source: "alpha-video.mov"
autoPlay: true
}
}
前もって感謝します!