掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ActiveMovieWindowの画面位置を設定するには? (ID:147399)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
基本的にビデオレンダラから IVideoWindow を取得して位置を設定すれば良い。 手軽に実現したいならば、使用するビデオレンダラをこちらで用意しておいてソイツを使わせようにする(ビデオレンダラを探す手間が無くなる) 以下 http://madia.world.coocan.jp/cgi-bin/vbnet/wwwlng.cgi?print+201107/11070004.txt をベースにしたサンプル Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim GraphBuilder As IGraphBuilder = DirectCast(comFilterGraph, IGraphBuilder) 'フィルタをグラフに追加する '(追加)欲しいウィンドウ数分ビデオレンダラを用意 Dim renderer() As IBaseFilter = { _ DirectCast(New VideoRenderer, IBaseFilter), _ DirectCast(New VideoRenderer, IBaseFilter), _ DirectCast(New VideoRenderer, IBaseFilter), _ DirectCast(New VideoRenderer, IBaseFilter), _ DirectCast(New VideoRenderer, IBaseFilter) _ } For Each r In renderer GraphBuilder.AddFilter(r, Nothing) Next 'カメラとInfinitePinTeeを接続する 'InfinitePinTeeの出力をレンダリングする '(追加)ウィンドウの位置を設定 For i As Integer = 0 To renderer.GetUpperBound(0) With DirectCast(renderer(i), IVideoWindow) .put_Left(240 * i) .put_Top(100) End With Next DirectCast(comFilterGraph, IMediaControl).Run() End Sub ↑方法では使用するビデオレンダラをプログラム内で指定してしまっている。それが嫌ならば 「'InfinitePinTeeの出力をレンダリングする」でレンダリング後、「comInfTeeOut」から ConnectedTo() + QueryPinInfo() で ビデオレンダラまで自力で辿り着き IVideoWindow を得て位置を設定すれば良いかと。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.