Y a-t-il un moyen de créer automatiquement des images en xxhdpi, xhdpi, hdpi, mdpi et ldpi à partir d'une image à grande échelle ? Par exemple, supposons que j'ai une image de 512x512 et que je veuille avoir différentes versions de cette image pour les différentes résolutions d'écran prises en charge par Android dans des dossiers appropriés.
Réponses
Trop de publicités?Option #1: Envoyez simplement les drawables -xxhdpi
et laissez Android les sous-échantillonner pour vous à l'exécution (inconvénient : ne fonctionnera que sur des appareils assez récents, où -xxhdpi
est connu).
Option #2: Utilisez Android Asset Studio pour les sous-échantillonner pour vous.
Option #3: Automatisez le processus dans un éditeur graphique, selon la réponse de ssantos.
Option #4: Écrivez vous-même une solution, en utilisant quelque chose comme ImageMagick.
Option #5: Utilisez image baker
Mise à jour :
Le plugin mentionné précédemment a été abandonné, mais il semble qu'il existe une version actualisée ici.
Ancienne réponse :
J'utilise le plugin Android Studio nommé Android Drawable Importer
:
Pour l'utiliser après l'avoir installé, faites un clic droit sur votre dossier res/drawable et sélectionnez Nouveau > Importation groupée de drawables
:
Ensuite, sélectionnez votre image via le bouton +
et définissez la résolution sur xxhdpi (ou la résolution de votre image source).
Mettre à jour:
L'ancienne méthode d'installation du plugin ne fonctionne plus mais un fork du plugin original est toujours fonctionnel ici. Vous pouvez toujours suivre cette réponse après avoir installé le plugin manuellement.
Si vous souhaitez une façon rapide et facile, visitez https://www.img-bak.in/ ou https://appicon.co/ ils fonctionnent également avec iOS.
J'essaierai d'expliquer le processus étape par étape, de manière à ce que ce soit simple à comprendre pour tout le monde.
1. Installez le plugin manuellement comme indiqué dans le ReadME
2. Redémarrez Android Studio
3. Comme vous pouvez le voir dans la capture d'écran suivante, il n'y a qu'un seul drawable ici
4. Maintenant, faites un clic droit sur le dossier drawable et allez à Nouveau>Importation de lots de drawables
5. Maintenant sélectionnez "L'image unique" dont vous voulez des variations de drawables.
6. Sélectionnez maintenant la dimension de l'image d'origine. Si l'image d'origine est xxhdpi comme dans mon cas, sélectionnez "xxhdpi" comme "Résolution source".
7. Appuyez sur OK puis OK à nouveau ... et cela prendra quelques secondes, puis vous obtiendrez magiquement toutes les variantes des drawables.
Utilisez un service en ligne comme Image Baker.
C'est simple. Téléchargez les images et téléchargez les ressources traitées pour Android et iOS.
Remarque : Image Baker est un service gratuit créé par mon ami et moi-même.
Un script bash utilisant ImageMagick (convert) selon la réponse de CommonsWare :
Ajout de la création de dossier et de la vérification des arguments grâce à Kishan Vaghela
#!/bin/sh
#---------------------------------------------------------------
# Étant donné une image xxhdpi ou une icône d'application (launcher), ce script
# crée différentes ressources dpis et les dossiers nécessaires
# s'ils n'existent pas
#
# Placez ce script, ainsi que l'image source, à l'intérieur du dossier res
# et exécutez-le en passant le nom de l'image en argument
#
# Exemple :
# ./drawables_dpis_creation.sh ic_launcher.png
# OU
# ./drawables_dpis_creation.sh my_cool_xxhdpi_image.png
#
# Droits d'auteur (c) 2016 Ricardo Romao.
# Ce logiciel libre est distribué SANS AUCUNE GARANTIE et
# est distribué sous licence GNU GPL v3.
#---------------------------------------------------------------
if [ $# -eq 0 ]; then
echo "Aucun argument fourni"
else if [ -f "$1" ]; then
echo " Création de différentes dimensions (dips) de "$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 " Icône d'application détectée"
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 " Terminé"
else
echo "$1 non trouvé."
fi
fi
- Réponses précédentes
- Plus de réponses