Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 1.41 KB

android-imagemagick-scale-icon.md

File metadata and controls

39 lines (31 loc) · 1.41 KB

title: Android: Creating icons with imagemagick tags: android,unix,imagemagick

If you have an image, and you want to convert it to the sizes for an icon, such as the one for the actionbar, this will work:

Move 'yourimage.png' into your res/ folder

convert yourimage.png -resize 48x48 drawable-mdpi/yourimage.png
convert yourimage.png -resize 72x72 drawable-hdpi/yourimage.png
convert yourimage.png -resize 96x96 drawable-xhdpi/yourimage.png
convert yourimage.png -resize 144x144 drawable-xxhdpi/yourimage.png

Here's a bash script that does the conversion, call it via "bash convert.sh 72 yourimage.png youroutputimage.png" where 72 is the size you want the xxhdpi image.

echo Converting $2 into $3 into the drawable directories.

float_scale=2
function float_eval()
{
    local stat=0
    local result=0.0
    if [[ $# -gt 0 ]]; then
        result=$(echo "scale=$float_scale; $*" | bc -q 2>/dev/null)
        stat=$?
        if [[ $stat -eq 0  &&  -z "$result" ]]; then stat=1; fi
    fi
    echo $result
    return $stat
}

m=$(float_eval "$1 / 3")
h=$(float_eval "$1 / 2")
x=$(float_eval "$1 / 1.5")
xx=$(float_eval "$1")

convert $2 -resize ${m}x${m} drawable-mdpi/$3
convert $2 -resize ${h}x${h} drawable-hdpi/$3
convert $2 -resize ${x}x${x} drawable-xhdpi/$3
convert $2 -resize ${xx}x${xx} drawable-xxhdpi/$3