そのディスプレイが、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 を実行すると、実行フォルダ下に変換画像というフォルダが作成され、その下に画像が保存されます。
拡張子やサイズは実際に合わせて変更してください。
画像サイズが小さいと背景が出ますがそれで構わないようですし、モニタサイズより大きい画像を選択すれば、はみ出し部分がカットされるだけでトリミング効果になるだけです。それほどは問題にならない気が・・・
convert a.jpg -resize 1920x1080 b.jpg
のようにすれば、短い方にフィットして変換します。
コマンドラインで変換できるので、バッチで実行すれば一括変換が可能です。
http://www.imagemagick.org/script/index.php
このソフトは、アスペクト比を維持したまま壁紙の画像を拡大表示できるので、壁紙自体をリサイズする必要がなくなってしまいました。
これを
If fso.GetExtensionName( f.Path ) = "jpg" And fso.GetExtensionName( f.Path ) = "png" Then
ですかね。たぶん。
空白の件は、数ではなく、所謂全角の空白があったからだと思います。
比較や表示等のため以外では全角の空白は使えないのです。
半角の空白なら幾つあってもエラーになりません。
ここのコメントでは半角空白では表示を揃える事が出来ないので、Mookさんは全角使ってますが、実際は全部半角じゃないとダメなんです。