wallaw
マルチモニター対応壁紙作成プログラム。
目次
マルチモニター環境のモニターのそれぞれに違う画像をセットした壁紙を作成するプログラムです。
色々な画像を読み込んであれこれ組み合わせて壁紙画像を作成することを目的としています。
チェンジャー機能や作った壁紙をライブラリ化して管理するような機能はありません。
- 読み込める画像ファイルはBMP、JPEG、GIF(アニメーションGIFは1枚目の画像になります)、ICO、PNG、TIFFです。
壁紙画像を作るには、画像を読み込み背景色とスタイル、位置を選んでモニター画像を作り壁紙画像にセットしていくという流れになります。
-
- ファイルメニューの「画像を開く」で画像ファイルを選択します。
新しくタブが作成され選んだ画像が表示されます。
編集メニューの「新規貼り付け」やエクスプローラからのドラッグアンドドロップでも読み込むことができます。
「モニター画像設定」の「背景色」「スタイル」「基準」「位置」の選択に応じて右側のモニター画像が変わります。
- 「スタイル」コンボボックスで画像の表示スタイルを選択します。
- 中央に表示
画像のオリジナルサイズで表示します。
余白部分は背景色で塗りつぶされます。
- 並べて表示
画像のオリジナルサイズでデスクトップ全体に敷き詰めます。
- 拡大して表示
画像をモニターのサイズに合わせて拡大・縮小表示します。
画像とモニターの縦横の比率が違う場合は横長になったり縦長になったりなど画像が歪みます。
この例では横長に歪んでいます。
- フルスクリーン表示
画像の縦横の比率を保って拡大・縮小表示します。
画像とモニターの縦横の比率が違う場合は上下または左右に余白ができます。
余白部分は背景色で塗りつぶされます。
- 隙間なく拡大して表示
フルスクリーン表示と同じく画像の縦横の比率を保って拡大・縮小しますが余白を作らずに表示します。
画像とモニターの縦横の比率が違う場合は上下または左右がトリミングされます。
この例では上下がトリミングされています。
- デスクトップ全体に拡大
モニターにまたがってデスクトップ全体に拡大・縮小表示します。
- スタイルで「並べて表示」を選んだ場合のみ基準コンボボックスで画像を並べる際の基準となるモニターを選択できます。
- 「デフォルト」はメインモニターを基準にしてモニターにまたがってデスクトップ全体に並べて表示します。
この例では左側のモニターがメインモニターなので左側のモニターの左上隅を始点にしてモニターをまたいで連続して並べられます。
- 「各モニター」はそれぞれのモニターごとに独立して並べて表示します。
上の図と違いモニターにまたがって並べられるのではなく各モニターごとにそれぞれの左上隅を始点にして並べられます。
- 「モニター1」は「デフォルト」と同じになります。
- 「モニター2」はモニター2を始点にしてモニターにまたがってデスクトップ全体に並べて表示します。
左側のモニター(モニター1)も右側のモニター(モニター2)の左上隅を始点にして連続して並べられます。
- 「位置」コンボボックスで画像をモニターに表示する位置を選択します。
- 「デフォルト」は「並べて表示」の時は「左上に寄せる」でそれ以外の時は「中央に置く」になります。
- 「中央に置く」はモニターの中央と画像の中心を合わせて表示します。
- 「左に寄せる」は画像の左端とモニターの左端を合わせ、縦は中心に合わせます。
- 「右に寄せる」は画像の右端とモニターの右端を合わせ、縦は中心に合わせます。
- 「上に寄せる」は画像の上端とモニターの上端を合わせ、横は中心に合わせます。
- 「下に寄せる」は画像の下端とモニターの下端を合わせ、横は中心に合わせます。
- 「左上に寄せる」は画像の左上端とモニターの左上端を合わせます。
- 「左下に寄せる」は画像の左下端とモニターの左下端を合わせます。
- 「右上に寄せる」は画像の右上端とモニターの右上端を合わせます。
- 「右下に寄せる」は画像の右下端とモニターの右下端を合わせます。
- 背景色を選択します。
※背景色はスタイルで「中央に表示」か「フルスクリーン表示」を選択して画面に余白が生まれる場合にのみ必要になります。
それ以外では選択しても意味はありません。
- 必要なら「画像」メニュー中の「左右反転」や「180度回転」などの加工を行います。
このプログラムでは簡易な加工しかできないので高度な加工が必要な場合は他のプログラムを利用します。
そのために登録プログラムを起動する機能を実装しています。
選択したプログラムをただ起動するだけのランチャ機能です。
「前面に移動のみ」にチェックがあれば選択プログラムが起動済みなら新たに起動させずに起動済みのプログラムを前面に表示します。
- 「適用」コンボボックスで壁紙画像に適用するモニターの画像を選択してセットします。
モニター画像をダブルクリックすることでも適用できます。
モニター画像のモニター部分以外のところをダブルクリックすると全てのモニター画像が適用されます。
この例では左側がモニター1で右側がモニター2になりますす。
赤枠内をダブルクリックするとモニター1の画像が壁紙画像に適用されます。
青枠内をダブルクリックするとモニター2の画像が壁紙画像に適用されます。
それ以外の白い部分をダブルクリックするとモニター1、モニター2の両方の画像が壁紙画像に適用されます。
- 適用後の壁紙画像で良ければ「壁紙に設定」ボタンを押してファイルへ保存します。
同時にシステムの壁紙の設定が変更され保存した壁紙画像が壁紙に設定されます。
壁紙選択
- 保存される壁紙ファイルは必ずデスクトップの大きさになります。
またシステムの壁紙の表示位置は必ず「並べて表示」になります。
マルチモニターのそれぞれに違う画像を設定することを前提に作っているので、モニターが一つの場合でも同様になります。
例えばモニターが一つでスタイルが「中央に表示」の画像を適用した場合デスクトップの大きさ(この場合はモニターの大きさに等しくなります)の画像を作り背景色で塗りぶつしその中心に画像をコピーした画像を保存して壁紙に設定します。
このような画像を作り保存して壁紙に設定します。
画像の大きさはデスクトップ(モニター)の大きさになります。
表示位置は「中央に表示」ではなく「並べて表示」になります。
- 私はモニターが二つの環境しか持っていないのでそれ以上の数の環境の場合正しく動作するのか分かりません。
動作確認
Windows XP SP3でのみ動作確認。
95や98、meでは動きません。
NTや2000でもエラーになると思います。
VistaやWindows7ではどうか分かりませんがもしかしたらOKかも知れません。
インストール
専用のフォルダを作りwallaw.exeをコピーするだけでOKです。
wallaw.exeと同じフォルダに設定ファイルのwallaw.iniを作ります。
レジストリは壁紙の設定データを書き込みます。
それ以外にこのプログラムの設定値をレジストリに書き込むことはありません。
アンインストール
専用フォルダを作ってコピーした場合は専用フォルダごと削除すればOKです。
専用フォルダを作らなかった場合はwallaw.exeとwallaw.iniの二つのファイルを削除します。
レジストリにこのプログラムの設定値を持つことはないのでこの二つのファイルを削除するだけでOKです。
wallaw
wallaw.exe 2012-01-27:Ver 0.3.2.27
プログラムは圧縮していません。
そのままダウンロードして実行できます。
ソースコード
ソースコードは公開しているというよりもバックアップ目的なので見通しはよくありませんし、これらとは別に汎用ライブラリも全部ダウンロードしてセットアップしないとコンパイルできません。
課題
- 画像の位置調整の詳細設定。
(X,Y)の値を直接入力できるように。
- 画像の拡大・縮小(表示の倍率ではなくモニター画像にセットする画像の拡大率)
- 壁紙ビデオ機能。
- チェンジャー機能。
履歴
2012-01-27:Ver 0.3.2.27
- 壁紙作成で「壁紙に設定」と「壁紙用に保存」で壁紙用ファイルを保存したら壁紙選択のリストに追加するようにした。
2011-11-14:Ver 0.3.1.26
- 壁紙選択タブに「ファイル操作」機能を実装。
リスト中の選択ファイルのリネーム、コピー、移動、削除(ゴミ箱へ)が可能。
- 壁紙選択タブの画像情報を「壁紙画像の大きさと縮尺率」から「壁紙画像と元画像の大きさ」に変更。
- 壁紙作成タブの壁紙画像の横に「壁紙用に保存」と「壁紙に設定」ボタンをつけた。
自分で作っておきながら一瞬迷うので分かりやすいようにボタンで。
2011-10-31:Ver 0.3.0.22
- 壁紙作成機能だけでなく壁紙選択機能もつけた。
それぞれのフォームをタブにドッキングしてで切り替え。
- 壁紙作成で背景色選択のコンボボックスを「中央に表示」「フルスクリーン」以外では選択不可にするようにした。
マイナーバージョンアップ
2011-09-22:Ver 0.2.1.19
- 動画キャプチャウィンドウの呼び出しの実装を取りやめ。
必要ならプログラムリストに登録すれば良いだけのことなのでシンプルに。
2011-09-18:Ver 0.2.0.19
- 画像の位置指定に対応。
- 拡大時にモニター画像のダブルクリックで正しいモニター画像が適用されなかった不具合を修正。
マウスの位置をイメージのクライアント座標で渡さなければならなかったのを親ウィンドウのクライアント座標で渡していたため。
- 壁紙の設定をメニューでも行えるにした。
それに伴い他のプログラムから呼び出すとアクセス違反のエラーが出るようになったのでやっつけ気味な対処。
マイナーバージョンアップ。
2011-09-14:Ver 0.1.0.13
- 元画像の反転と回転操作を行えるようにした。
- 壁紙画像の上と右1ドットがずれる不具合を修正。
- 壁紙の背景色を選択できるよう壁紙画像の下に選択ボタンを配置した。
現実には背景色は隠されるのであまり意味はない。
- 画像を掴んで移動する際表示領域エリア外に移動しないようにした。
移動途中でマウスキャプチャを横取りされた場合でもおかしくならないように。
- 背景色と壁紙ファイルの設定がOS再起動後に元に戻ってしまっていた不具合を修正。
レジストリに書き込まないとセッション扱いになるようだ。
2011-09-10:Ver 0.0.2.2
- アイコンを読み込めるようにした。
- 元画像と壁紙プレビュー画像の実寸表示、マウスホイールでの拡大縮小とマウスで掴んで移動に対応。
- 画像のサイズと縮尺率を表示するようにした。
- 画像を閉じた後タブの表示が更新されないことがあった不具合を修正。
2011-09-09:Ver 0.0.1.2
- メニューの「終了」の動作が「画像を閉じる」と同じになっていた不具合を修正。
- 「壁紙再読み込み」機能追加。
- 起動中モニター情報が変わったときに以前のモニター情報のまま作業を続けるか現在のモニター情報にするか選択するダイアログを出すようにして以前の作業を続行できるようにした。
- アイコンを昔の壁紙ビデオのもので流用。
- Shift+「閉じる」で確認ダイアログを出さずにタブを閉じるようにした。
- 閉じるのアイコン上にマウスカーソルが来たらカーソルをハンドポイントに変更するようにした。
- プログラム起動で起動済みなら前面に移動の処理で大文字と小文字の区別をしていたため起動済みであっても新規に起動してしまうことがあった不具合を修正。
2011-09-07:Ver 0.0.0.2
VCaptの壁紙設定フォームからの変更点。
- 上部に読み込む画像をタブで管理。
- 下部に壁紙プレビュー画面。
- 上部と下部のサイズをスプリッタで変更可能。
- ツールバー。
- メインメニュー。
- プログラムランチャ機能。
2011-08-27:作成開始。
- VCaptの壁紙設定フォームを基に読み込む画像をタブで切り替える方式に変更して作成。