ビデオを描画ウィンドウの上に線を描画する透明オーバーレイウィンドウが必要ですか? :: MFC、C ++、窓::
-
19-09-2019 - |
質問
あなたが積極的に描かれたストリーミングビデオを持っている別のウィンドウの上に配置することができる透明ウィンドウを作成するにはどうすればよいです。私は、ビデオは常にその上に戻って描画せずに描画できるビデオウィンドウの上にウィンドウを作成します。
私は透明のダイアログリソースからウィンドウを作成して、SetWindowPos(...)を使用して、そのzオーダーを設定するが、どんな効果があるとは思われないことができます。 WS_CHILDスタイルやWS_POPUPとしてダイアログセットを持つことも効果がないように見えます。
私は、私の会社では、別の開発グループが開発したメディア(ビデオ)フレームワークを使用していて、そのコードにウィンドウハンドルを提供しています。そのハンドルはそのウィンドウの表面に映像をレンダリングするためのDirect3Dを使用してパイプラインで自分のレンダリングプラグインによって使用されています。
解決
動画をビデオアダプタ内のハードウェアオーバーレイにレンダリングされます。あなたは、そのオーバーレイをオーバーレイするために、独自に作成する必要があります。私はDirectXがその機能を提供してだと思う、あなたも)(WS_EX_LAYEREDのウィンドウスタイルを使用して、それを取得し、SetLayeredWindowAttributesことができます。あなたはどちらの透明キーを設定する必要があります。それはスラム・ダンクシュートだのでわからないところで、私は、これは奇妙な振る舞いを見てきました。
所属していません StackOverflow