画面の表示を鏡像にするソフト

を作ってみました。
といっても、今のところは、

  • 画像キャプチャ

  • 鏡像表示

の二つのソフトですけど。
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」を再読み込みします。


ここまで、上手くいきました?

これで何ができるか?

  1. PC-AとPC-Bがあるとします。
  2. PC-Aがファイル共有していて、PC-Bから見えるところに、上記三つのファイルを置きます。
  3. PC-AでDisplayTransServer.exeを起動。
  4. PC-BでDisplayTransClient.exeを起動。
  5. PC-AでDisplayTransServerを移動して、Ctrl+S
  6. 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