画面に線が描かれている動画を再生しています。新しく色付けされたピクセルを N ミリ秒間特定の色に変えるピクセル シェーダー (WPF 用) を作成することは可能ですか?
そうすれば、線があまり動かず、ユーザーが常に画面を見ているとは限らない場合でも、画面上での動きをユーザーに示すことができます。
画面に線が描かれている動画を再生しています。新しく色付けされたピクセルを N ミリ秒間特定の色に変えるピクセル シェーダー (WPF 用) を作成することは可能ですか?
そうすれば、線があまり動かず、ユーザーが常に画面を見ているとは限らない場合でも、画面上での動きをユーザーに示すことができます。
使用できますDirectShow
。アンマネージ コードで記述されているため、マネージド環境で実行されている C# アプリケーションで使用するには、このラッパーDirectShow.NETを使用する必要があります (サンプルが含まれており、拡張ビデオ レンダラーを表す EVR も含まれています。これはビデオが大幅に向上することを意味します)。品質)。また、ビデオ出力を設定するためにラッパー メソッドにコントロール ハンドルを渡す場合は、WinForms コントロールが必要です。これは、WinForms コントロールからのみ、目的のコントロール ハンドルを取得できるためです。WindowsFormsHost
その WinForms コントロールは、WPF アプリケーションでいくつかの WinForms コントロールを使用する必要がある場合に提供されるコントロールを使用して、WPF アプリケーションでホストできます。それは単なる理論であるため、それがあなたにとって究極の解決策であるかどうかはわかりません.
ところで:全体のアイデアは事実に基づいています。それDirectShow
は、分離されたフィルターから構築されたクエリです。レンダラーはフィルター (EVR、VMR-7、VMR-9) です。サウンドプレーヤーはフィルターです。そして、それらはピンを介して接続されています。ダイアグラムのようなものです。電子スキーマとか。Grey scale
そして、そこにフィルターなどを入れることができます。ビデオ出力はグレースケールになります。そのためのチュートリアルがたくさんあります。簡単なフィルターも完成。残念ながら、フィルターは C++ で作成する必要があります:(
PS: 簡単だとは言っていない:D