是否有一种方法来创建xxhdpi, xhdpi, hdpi, mdpi和ldpi绘制从一个大规模的图像自动?例如,假设我有一个512x512的图像,我想在适当的文件夹中有这个图像的不同版本,用于Android支持的不同屏幕分辨率。


当前回答

更新:

之前提到的插件已经被放弃了,但它显然有一个最新的分支。

旧的回答:

我使用名为Android Drawable Importer的Android Studio插件:

要在安装后使用它,右键单击您的res/drawable文件夹,并选择New > Batch drawable Import:

然后通过+按钮选择你的图像,并将分辨率设置为xxhdpi(或任何你的源图像的分辨率)。

其他回答

不是100%自动,但我用Photoshop动作节省了很多时间。

例如,给定xhdpi资产,然后为hdpi和mdpi创建一个任务,其规模分别为66.66%和44.44%。然后运行文件夹xhdpi上所有图像的操作。

对于512x512的图像,所要做的就是计算缩放图像的百分比,以实现xxhpi、xhdpi、hdpi和mdpi。

编辑:

这个网站现在叫做appicon.co


我通常使用assets.codly.io 它在您的浏览器中本地生成资产,无需上传,无需下载。

一个bash脚本使用ImageMagick(转换)根据CommonsWare的答案:

增加了文件夹创建和参数检查多亏了Kishan Vaghela

#!/bin/sh
#---------------------------------------------------------------
# Given an xxhdpi image or an App Icon (launcher), this script
# creates different dpis resources and the necessary folders
# if they don't exist
#
# Place this script, as well as the source image, inside res
# folder and execute it passing the image filename as argument
#
# Example:
# ./drawables_dpis_creation.sh ic_launcher.png
# OR
# ./drawables_dpis_creation.sh my_cool_xxhdpi_image.png
#
# Copyright (c) 2016 Ricardo Romao.
# This free software comes with ABSOLUTELY NO WARRANTY and
# is distributed under GNU GPL v3 license. 
#---------------------------------------------------------------

if [ $# -eq 0 ]; then
    echo "No arguments supplied"
else if [ -f "$1" ]; then
    echo " Creating different dimensions (dips) of "$1" ..."
    mkdir -p drawable-xxxhdpi
    mkdir -p drawable-xxhdpi
    mkdir -p drawable-xhdpi
    mkdir -p drawable-hdpi
    mkdir -p drawable-mdpi

    if [ $1 = "ic_launcher.png" ]; then
        echo "  App icon detected"
        convert ic_launcher.png -resize 144x144 drawable-xxhdpi/ic_launcher.png
        convert ic_launcher.png -resize 96x96 drawable-xhdpi/ic_launcher.png
        convert ic_launcher.png -resize 72x72 drawable-hdpi/ic_launcher.png
        convert ic_launcher.png -resize 48x48 drawable-mdpi/ic_launcher.png
        rm -i ic_launcher.png
    else
        convert $1 -resize 75% drawable-xxhdpi/$1
        convert $1 -resize 50% drawable-xhdpi/$1
        convert $1 -resize 38% drawable-hdpi/$1
        convert $1 -resize 25% drawable-mdpi/$1
        mv $1 drawable-xxxhdpi/$1
    fi
echo " Done"
else
    echo "$1 not found."
fi
fi

使用这个来生成启动器图标

https://appicon.co/

使用它来生成可绘制的图标

https://www.img-bak.in/

选择#5:使用图像面包师是片状的。我转换了两张图像,它就停止了。 我成功地转换了10张图片:https://nsimage.brosteins.com/