私が書いたbashスクリプトを使用してさまざまな解像度に変換するPNG画像がいくつかあります。
入力は画像であり、出力は、drawable-xhdpi、drawable-hdpi、drawable-mdpi、drawable-ldpiに一致する解像度のスケーリングされた画像の数です。
アイコンとPNG画像をスケーリングするより良い方法はありますか?あなたは何を使うのですか?代わりにSVG画像を使用する必要がありますか?
私が書いたbashスクリプトを使用してさまざまな解像度に変換するPNG画像がいくつかあります。
入力は画像であり、出力は、drawable-xhdpi、drawable-hdpi、drawable-mdpi、drawable-ldpiに一致する解像度のスケーリングされた画像の数です。
アイコンとPNG画像をスケーリングするより良い方法はありますか?あなたは何を使うのですか?代わりにSVG画像を使用する必要がありますか?
一部の描画可能なリソースでは、9パッチの画像を使用することをお勧めします。例:ボタンのカスタム背景を設定している場合。このリンクでは、9つのパッチイメージとは何か、およびそれらを作成する方法について簡単に説明しています。シンプルな9パッチ画像ガイド
GoogleのAndroidAssetStudioがあり ます
ほとんどのアイコンにsvgを使用し、スクリプトを使用してさまざまな解像度にエクスポートします。
#!/bin/bash
# This script export a .svg to different android resolution classes.
# Christian Beier, shoutrLabs
#
# Export individual svg to png with inkscape
# $1 = File
# $2 = Size
# $3 = destination dir
function exportFile {
FILE=$1
SIZE=$2
DESTDIR=$3
echo
echo '################### EXPORTING '$FILE $SIZE $DESTDIR' ...'
if [ -e $FILE ]; then
EXPORTFILE=`basename $FILE .svg`
EXPORTFILE=$EXPORTFILE".png"
# If format is WIDTHxHEIGHT do this, else assume 1:1 ratio
if [ `echo $SIZE | grep -E '^[0-9]+x[0-9]+$'` ]; then
SIZEWIDTH=`echo $SIZE | sed 's/x[0-9]*//'`
SIZEHEIGHT=`echo $SIZE | sed 's/[0-9]*x//'`
else
SIZEWIDTH=$SIZE
SIZEHEIGHT=$SIZE
fi
mkdir -p $DESTDIR
inkscape --without-gui --file=$FILE --export-area-drawing --export-png="$DESTDIR/$EXPORTFILE" -w=$SIZEWIDTH -h=$SIZEHEIGHT
else
echo "File does not exist."
fi
}
# go!
exportFile $1 36 "drawable-ldpi"
exportFile $1 48 "drawable-mdpi"
exportFile $1 72 "drawable-hdpi"
exportFile $1 96 "drawable-xhdpi"
exportFile $1 144 "drawable-xxhdpi"
echo DONE baby!