そのディスプレイが、1920×1080のため、壁紙を適用すると、横に引き延ばされて表示されてしまいます。
検索して見つけた壁紙用リサイズソフトでは、かべHDが望む処理を行えるものの、複数のファイルをまとめて処理することに対応していません。
そこで、このソフトに複数のファイルをまとめて処理させるうまい方法をおしえてください。
別ソフトでまとめて処理できる方法をおしえていただいてもかまいませんが、その場合は以下の条件を必ず守ってください。
・画像を引き伸ばしてリサイズするのではなく、リサイズ後のサイズにしたとき、足りない空白部分を何らかの画像処理によって補完できること(かべHDのように、ボックス調節でサイドをくもりガラスで補完する手法をできることがベストです)
・画像の上下を切り取る処理方法は論外、楯サイズ1080以下の画像でも補完してリサイズできること
・複数のファイルをまとめて処理できること
・設定方法などをできるだけ明記すること(フォトレタッチソフトなどのソフトは特に)
ImageMagic をインストールする。
Windows であれば、下記の
ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/binaries/
からどちらか(OSに合わせて)をダウンロードし、インストール。
ImageMagick-6.7.8-2-Q16-windows-dll.exe
ImageMagick-6.7.8-2-Q16-windows-x64-dll.exe
下記の convet.exe の部分を実際のインストールパスに書き換えて、resizer.vbs として保存する。
'// スクリプトと同じフォルダに置いたJpg画像を変換し、「変換画像」フォルダ下に保存する Set fso = CreateObject("Scripting.FileSystemObject") Set objShell = CreateObject("WScript.Shell") cPath = FSO.GetAbsolutePathName(".") If fso.FolderExists( cPath & "\変換画像" ) = False Then fso.CreateFolder cPath & "\変換画像" End If For Each f In fso.GetFolder(cPath).Files If fso.GetExtensionName( f.Path ) = "jpg" Then '★ 実際のインストールパスに変更 objShell.Run """C:\Program Files\ImageMagick-6.7.8-Q16\convert.exe"" """ & f.Path & """ -resize 1920x1080 """ & Replace( f.Path, f.Name, "変換画像\" & f.Name ) & """" ,, true End If Next
変換したいファイルとスクリプトを同じフォルダに置き、ダブルクリックで vbs を実行すると、実行フォルダ下に変換画像というフォルダが作成され、その下に画像が保存されます。
拡張子やサイズは実際に合わせて変更してください。
余ってしまう両サイドを何とかしたいということであれば、こんなやり方も…
デスクトップを右クリック → 個人設定
この時、[デスクトップの背景] には設定した壁紙がサムネイル表示されていると思います。
変更するのは、その隣の [ウィンドウの色] です。
[ウィンドウの色とデザイン] 画面が立ち上がったら、
指定する部分にデスクトップ、色1をクリックして壁紙に合うカラーを設定。
私の場合は、1ヶ月のカレンダーを壁紙にしているのですが、やはり余白ができてしまうので、壁紙の背景色とウィンドウの色を同化させています。
壁紙に使われている画像の色を知りたければ、RGB値取得ソフトですぐに分かります。
http://freesoft-100.com/pasokon/rgb.html
画像処理ソフトに、RGB値を表示する機能が搭載されているものもありますし…
高度なエフェクト処理というわけではありませんが、見栄えはそれなりに整うのではないでしょうか。
ご指摘の対応方法ですと、文字が正しくありません。というエラーが発生します。
2012/07/13 09:01:58VBSでは、複数条件の指定は難しいものなのでしょうか。
書き込んですぐですが、実行できました。
2012/07/13 09:35:48エラー位置の表示が、13行目の1文字目を示していて、そこに[空白][空白]Ifとあったので、空白を削除して試してみたら実行できた次第です。
上のプログラム表記からでは、インデントが空白に変換されてしまい、それが行頭の余分な空白としてエラーを起こしていたのかもしれません。
[行頭]If[空白]fso.GetExtensionName([空白]f.Path[空白])[空白]=[空白]"jpg"[空白]_[空白][改行]
[行頭][空白]Or[空白]fso.GetExtensionName([空白]f.Path[空白])[空白]=[空白]"png"[空白]_[空白][改行]
[行頭][空白]Or[空白]fso.GetExtensionName([空白]f.Path[空白])[空白]=[空白]"gif"[空白]Then