画面の表示を鏡像にするソフト
を作ってみました。
といっても、今のところは、
- 画像キャプチャ
と
- 鏡像表示
の二つのソフトですけど。
05/20、Ver.0.2に更新しました。
05/31、Ver.0.3に更新しました。
まずは、お試しあれ
OneDrive
これをダウンロードしてください。
解凍すると、四つのファイルがあります。
- DisplayTransServer.exe (画像キャプチャソフト)
- DisplayTransServer.ini (画像キャプチャソフト設定ファイル)
- DisplayTransClient.exe (鏡像表示ソフト)
- DisplayTransClient.ini (鏡像表示ソフト設定ファイル)
とりあえず、DisplayTransServer.exe
実行すると、枠以外穴のウインドウが開きます。
ソフトをアクティブにして、Ctrl+Sを押すと、枠内が「start.bmp」として保存されます。
メニューから「Capture」-「Shot」と選択しても同じです。
そんだけ。
次に、DisplayTransClient.exe
実行すると、、、「start.bmp」を読み込んで、鏡像表示します。
同じフォルダに「start.bmp」がない状態で起動すると、、、
真っ白な画面が表示されます。
このソフト、どこをドラッグしても移動できます。
また、右クリックすると、ポップアップメニューが出て、「Close」で終了します。
DisplayTransServerを移動してCtrl+Sしたり、他のビットマップファイル(24Bitカラーのこと)で「start.bmp」を更新した後、DisplayTransClientに対してCtrl+Rすると、「start.bmp」を再読み込みします。
ここまで、上手くいきました?
これで何ができるか?
- PC-AとPC-Bがあるとします。
- PC-Aがファイル共有していて、PC-Bから見えるところに、上記三つのファイルを置きます。
- PC-AでDisplayTransServer.exeを起動。
- PC-BでDisplayTransClient.exeを起動。
- PC-AでDisplayTransServerを移動して、Ctrl+S
- PC-BでDisplayTransClientに、Ctrl+R
以降任意のタイミングで、Ctrl+S/Ctrl+R、、、。
どうでしょ?
設定あれこれ
DisplayTransClient.iniについて
[Settings] ;Topmost=1 FlipH=1 ;FlipV=1 ;Stretch=1 ;WindowPosFlg=23 ;Mode=1 ;Interval=1000 ServerIp=127.0.0.1 [WindowRect] Left=0 Right=800 Top=0 Bottom=600
Windowサイズを変えたい
[WindowRect] Left=0 Right=800 Top=0 Bottom=600
がWindowの位置とサイズです。
数値を変えると、それに応じて位置や大きさが変わると思います。
最上位ウインドウにする
「;Topmost=1」の先頭の「;」をとって、「Topmost=1」にすると、最上位ウインドウになります。
試験中はウザイ機能ですが、専用PCでDisplayTransClientを起動する場合は、便利かもしれません。
反転の方向を変える
「FlipH=1」を「;FlipH=1」に、「;FlipV=1」を「FlipV=1」にすると、垂直反転になります。
垂直反転の方が少し早いです。
サイズ自動調整を解除する
DisplayTransServerを大きくすると、「start.bmp」が大きくなります。
その「start.bmp」をDisplayTransClientに読み込むと、DisplayTransClientは大きくなります。
「;WindowPosFlg=23」を「WindowPosFlg=23」にすると、この自動調整がOFFになります。
大きいサイズを読み込むと、右下方向が切れます。
自動拡大・縮小を有効にする
サイズ自動調整を解除した上で、「;Stretch=1」を「Stretch=1」にすると、自動拡大・縮小が有効になります。
拡大はあまりお勧めしませんが。
Ver 0.2 一定間隔による自動読み込み機能を使う
DisplayTransClientの右クリックメニューから、「Auto」にチェックを入れたり、Ctrl+Aすると、一定間隔(初期値:500msec)で、画像読込みを行います。
変わってなかったら読まない、、、なんていう便利機能はありません m(_ _)m
設定ファイルの「;Mode=1」を「Mode=1」にすると、起動時から自動読込みが有効になります。
また、「;Interval=1000」を「Interval=1000」にすると、1秒間隔になります。数値を変更すれば、読込み間隔も変更できます。CPU負荷を見ながら調整してください。
Ver 0.3 ソケット通信による更新
「ServerIp=127.0.0.1」の設定により、DisplayTransClientからDisplayTransServerに接続しに行きます。
(127.0.0.1は同じPCの場合のIPアドレス)
接続失敗で再試行とかしないので、必ずDisplayTransServerから起動してください。
(何も表示されませんが)上手く接続すると、DisplayTransServerからCtrl+Tすると、DisplayTransClientに表示されます。
「Start.bmp」経由の必要がありません。
転送の際に、LZMA圧縮を行っているので、パフォーマンスはイマイチかもしれません。
そんなところです。
興味があるようでしたら、ソースもどうぞ。
OneDrive