ImageMagick
コマンドラインから画像に対し簡単な処理を行えるツール。
縮小、結合などの作業ごとにソフトを用意しておく必要が無く、バッチを用意しておけば一括で処理を行えるのがメリット。
ダウンロード
- http://www.imagemagick.org/script/download.phpから日本(Japan)のサイトを選択
- binariesを選択(Windows用)
- ImageMagick-(バージョン)-windows.zipをダウンロード
別にどこにインストールしてもいいと思うが、フォルダ構成は次の様にしておくと都合が良いと思う。
(任意のフォルダ) ∟ImageMagick ∟image ∟www ∟animate.exe ∟convert.exe ∟... ∟縮小用バッチ ∟回転用バッチ ∟...
バッチファイルメモ
画像ファイルをD&Dすればまとめて処理してくれる様に。
大体の処理の流れはこんな感じ。新しく、「(元のファイル名)_XXX.(元の拡張子)」というファイルが作成される。
@echo off rem 引数が渡されなければ即終了 if "%~1" == "" ( exit /b ) echo ---------------------------------------- echo (処理の説明) rem 現在ディレクトリをバッチのある場所に cd /d %~dp0 rem 各引数について処理を実行 for %%A in ( %* ) do ^ ImageMagick\(実行ファイル名) (オプション) %%A "%%~dpnA_XXX%%~xA" echo ---------------------------------------- echo 成功 pause
for文内で「%(変数名)」を使う時は、「%%(変数名)」と2個重ねる必要がある。
%Aはパス名文字列を示すが、パスに空白が含まれるなど“クオート”する必要があれば自動的にクオートされた文字列になり、必要がなければされてない文字列になる(ややこしい)。
%~dAはドライブ、%~pAはドライブ以下のパス、%~nAは拡張子を除いたファイル名、%~xAは拡張子に置換される。
%~dAはドライブ、%~pAはドライブ以下のパス、%~nAは拡張子を除いたファイル名、%~xAは拡張子に置換される。
縮小
@echo off if "%~1" == "" ( exit /b ) echo ---------------------------------------- echo 縮小 cd /d %~dp0 for %%A in ( %* ) do ^ ImageMagick\convert.exe -geometry 864x648 %%A "%%~dpnA_small%%~xA" echo ---------------------------------------- echo 成功 pause
回転
@echo off if "%~1" == "" ( exit /b ) echo ---------------------------------------- echo 画像 180度回転 cd /d %~dp0 for %%A in ( %* ) do ^ ImageMagick\convert.exe -rotate 180 %%A "%%~dpnA_rotate%%~xA" echo ---------------------------------------- echo 成功 pause
白を透過
@echo off if "%~1" == "" ( exit /b ) echo ---------------------------------------- echo 白を透過 cd /d %~dp0 for %%A in ( %* ) do ^ ImageMagick\convert.exe -transparent white %%A "%%~dpnA_transparent.png" echo ---------------------------------------- echo 成功 pause