備忘録 〜プログラミング〜

プログラミングに関する事をつらつらと、、

Androidアプリで使用する画像を自動生成する

Androidアプリを作成するときに、解像度の違う画像を何枚も作るのが面倒だなと思い、android-drawable-converterを使用したら、思いのほか便利だったのでメモ。
《手順》
1:こちら(https://code.google.com/p/android-drawable-converter/downloads/list)からプロジェクトをダウンロード
2:imagemagickをインストール(http://www.imagemagick.org/script/binary-releases.php) 自分は、homebrewを使ってインストールしました -> $ brew install imagemagick
3:ダウンロードした、android-drawable-converterフォルダに入っているsettings.iniの編集

# Convert command params:
#   %1$s = source file
#   %2$s = destinationfile
#   %3$s = resize pct


# Macの場合以下のコメントアウトを外す
convert_command=convert -resize %3$s -unsharp 0x1 %1$s %2$s

#こちらはWindowsの場合
#convert_command=C:\Program Files\ImageMagick-6.7.1-Q16\convert.exe - resize %3$s -unsharp 0x1 %1$s %2$s

# コンバート元にしたい画像のあるフォルダ(drawable-以下)
convert_source=xhdpi

# コンバート先のフォルダ(drawable-以下)
convert_destination=mdpi,ldpi,hdpi

# 一時フォルダ
# 相対パスでも、絶対パスでも大丈夫
# ここで指定しているフォルダがない場合は、警告なしで作成され、後で削除される。
tmp_dir=android-drawable-converter-tmp

#########################################
#Format configuration (Doesn't needs to be touched in most cases)
#########################################
# baseline is mdpi at 1.0f. ex: hdpi is 1.5 times larger than mdi so hdpi=1.5
# you can add more if more format are defined in future android releases
xhdpi=2
hdpi=1.5
mdpi=1
ldpi=0.75

4:プロジェクトフォルダの一番上の階層に、android-drawable-converter.jarとsettings.iniを置く 5:以下のコマンドを実行

java -jar android-drawable-converter.jar

これで一番大きい画像のみを用意すれば、自動的に他の解像度の画像も生成してくれるようになります。
自分の場合、後から導入したので、デスクトップに適当なフォルダを作成して、そのフォルダ内にandroid-drawable-converter.jarとsettings.iniを配置、res/drawable-[hdpi | ldpi | mdpi | xhdpi]フォルダを作成してコマンドの実行をしました。
便利です。

android-drawable-converter - Android Drawable Converter is a tool that helps you to convert drawables into other density versions - Google Project Hosting