Что вы используете для создания ресурсов для рисования? (Лучшая практика)

У меня есть несколько изображений PNG, которые я конвертирую в разные разрешения, используя сценарий bash, который я написал.

Ввод представляет собой изображение, а вывод — ряд масштабированных изображений с соответствующими разрешениями: drawable-xhdpi, drawable-hdpi, drawable-mdpi, drawable-ldpi.

Есть ли лучший способ масштабирования значков и изображений PNG? Что ты используешь? Должен ли я вместо этого использовать изображения SVG?


person wojciii    schedule 20.07.2012    source источник


Ответы (3)


Для некоторых ваших ресурсов для рисования вы можете использовать изображения с 9 патчами. Пример: если вы устанавливаете собственный фон для кнопки. Эта ссылка кратко объясняет, что такое 9 изображений патчей и как их создавать. Простое руководство по изображениям 9patch

person pixelscreen    schedule 20.07.2012

Существует Android Asset Studio от Google.

person Alexander Kulyakhtin    schedule 20.07.2012

Мы используем 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!
person bk138    schedule 17.09.2013