Есть ли способ автоматически создавать графики xxhdpi, xhdpi, hdpi, mdpi и ldpi из крупномасштабного изображения? Например, предположим, что у меня есть изображение 512x512, и я хочу иметь разные версии этих изображений для разных разрешений экрана, поддерживаемых Android в соответствующих папках.
Есть ли способ создать xxhdpi, xhdpi, hdpi, mdpi и ldpi чертежи из крупномасштабного изображения?
Ответ 1
Вариант № 1: Просто отправьте чертежи -xxhdpi
и дайте Android сверить их для вас во время выполнения (недостаток: будет работать только на довольно недавних устройствах, где известен -xxhdpi
).
Вариант № 2. Используйте Android Asset Studio, чтобы уменьшить их выборку.
Вариант № 3: автоматизировать процесс в графическом редакторе, согласно ответу ssantos.
Вариант № 4. Сценарий решения, используя что-то вроде ImageMagick.
Вариант № 5: Используйте Image Baker
Ответ 2
Я использую плагин Android Studio с именем Android Drawable Importer
:
Чтобы использовать его после установки, щелкните правой кнопкой мыши папку res/drawable и выберите New > Batch Drawable Import
:
Затем выберите свое изображение с помощью кнопки +
и установите разрешение равным xxhdpi (или независимо от разрешения исходного изображения).
Ответ 3
Я попытаюсь объяснить процесс поэтапно, так что он будет понятен любому.
1. Перейдите в "Настройка" > "Плагины"
2. Поиск "Android Drawable Importer" в строке поиска
. 3. По умолчанию он не будет показывать плагин, чтобы выполнить поиск в Интернете. Нажмите "Browse"
Ссылка.
4. Затем установите плагин, он покажет загрузку.... иногда он может не показывать загрузку, поэтому обязательно проверьте в нижней части студии Android, она показывает загрузку.
5. Теперь перезапустите студию Android
6. Как вы можете видеть в следующем скринкапе, здесь есть только одна возможность
7. теперь щелкните правой кнопкой мыши на папке с возможностью переноса и выберите "Создать" > "Пакетный динамический импорт" .
9. Теперь выберите "Single" образ, который вы хотите использовать для разных вариантов чертежей.
10. Теперь выберите, какой размер имеет исходное изображение. Если исходное изображение xxhdpi, как в моем случае, выберите "xxhdpi" как "Source Resoultion".
11. Теперь нажмите "ОК", затем снова ок... и затем это займет несколько секунд, а затем вы волшебным образом получите все переменные чертежей.
Ответ 4
Используйте онлайн-сервис, такой как Image Baker.
Это просто. Загрузите изображения и загрузите обработанные ресурсы для Android и iOS.
Примечание: Image Baker - это бесплатный сервис, созданный мной и моим другом.
Ответ 5
Скрипт bash с использованием ImageMagick (convert) согласно ответу CommonsWare:
Кишан Вагела добавил создание папок и проверку аргументов
#!/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
Ответ 6
РЕДАКТИРОВАТЬ:
Сайт теперь называется appicon.co
Я обычно использую assets.codly.io
Он генерирует ресурсы локально в вашем браузере, без загрузки, без загрузки.
Ответ 7
Просто нашел простой способ сделать это в новой Android Studio:
Ответ 8
Я использую инструмент под названием Android Icon Set в Eclipse для стандартных значков, таких как Launcher, ActionBar, иконки вкладки и значки уведомлений. Вы можете запустить его из файла → Создать → Другое.. → Android → Android Icon Set. Самое приятное то, что вы можете выбрать любой файл с вашего компьютера, и он автоматически поместит все изображения стандартных размеров в каталог вашего проекта.
Ответ 9
Я думаю, что инструмент, предоставленный Redwarp, лучший! https://github.com/asystat/Final-Android-Resizer
нашел это в этом другом вопросе: https://stackoverflow.com/questions/10754523/is-there-any-tool-which-can-a-resize-png-image-into-a-image-for-ldpi-mdpi-hdp
Так как этот первый результат в Google, я хотел бы добавить эту информацию и здесь.
Ответ 10
- Просто используйте https://romannurik.github.io/AndroidAssetStudio/index.html. Он может сделать набор иконок из изображения, позже вы можете скачать zip файл.
- Или загрузите приложение Windows по адресу https://github.com/redwarp/9-Patch-Resizer/releases (не требует установки) и откройте значок.
- Также вы можете использовать плагин
Android Drawable Importer
, см. Ответы выше. В настоящее время я использую этот метод.
Ответ 11
Использовать компонентную среду Android Studio
Перейдите к:
Project>res --> right click
new> image asset
Затем установите:
-Icon type: Launcher Icons
-Asset type: Image
-Path: the/path/to/your/image
-Trim: No
-Padding: 0%
-Shape: None
-Effect: None
Выберите: Далее > Готово.
Now you will have your icon in the correct resolutions.
EDIT: Я рекомендую использовать SVG-изображения для создания векторных чертежей, а затем использовать их в холсте, чтобы изменить их размер до нужного размера или просто изменить DP.
Вы можете получить значки по умолчанию из Google или просто создать свой собственный
Project>res --> right click
new> vector asset
Затем установите:
-Asset type: Local file (SVG, PSD)
-Path: the/path/to/your/image
-Size: check Override to keep your aspect ratio.
-Chek enable auto mirroring for RTL Layout.
Выберите: Далее > Готово.
Теперь у вас будет значок, и вы сможете изменить размер, цвет и т.д..
Ответ 12
Я написал сценарий Photoshop для создания файлов png ic_launcher из файла PSD. Просто проверьте ic_launcher_exporter.
Чтобы использовать его, просто скачайте его и используйте скрипт из фотошопа.
И сконфигурируйте, где вы хотите генерировать выходные файлы.
Ответ 13
Существует также возможность использовать Vector Asset Studio в сочетании с Масштабируемая векторная графика (SVG). Android Studio будет обрабатывать остальное для вас. Поскольку официальная документация гласит:
Vector Asset Studio позволяет добавлять значки материалов и импортировать Масштабируемые Векторные графические (SVG) файлы в ваш проект приложения в качестве ресурс. По сравнению с растровыми изображениями векторные чертежи могут размер вашего приложения и изменять размер без потери качества изображения. Oни помогут вам более легко поддерживать различные устройства Android с различной размеры экрана и разрешения, потому что вы можете отобразить один вектор которые можно использовать для всех.
Я считаю это будущим.
Ответ 14
Мне посчастливилось использовать этот плагин для фотошопа:
Существует некоторая работа, чтобы правильно назвать слои и состояния кнопок. Но, как только вы это сделаете, встроенные макросы довольно хороши.
В противном случае вы можете написать свои собственные макросы в Photoshop, если у вас есть знания.
Ответ 15
Не 100% автоматический, но я сэкономлю много времени, используя Действия Photoshop.
Например, при заданных активах xhdpi
я создаю задачу для hdpi
и mdpi
, которая масштабируется до 66.66% и до 44.44% соответственно. Затем я запускаю действия для всех изображений в папке xhdpi
.
Для изображений размером 512x512 все, что вам нужно сделать, это вычислить, какой процент вы должны масштабировать изображения для достижения xxhpi, xhdpi, hdpi и mdpi.
Ответ 16
Я использовал решение в этом потоке, и он легко работает с плагином Android Drawable Importer
Если вы используете Android Studio на MacOS, просто попробуйте этот шаг, чтобы войти:
- Нажмите меню панели Android Android, затем выберите " Настройки" или нажмите " Command +",
- Затем выберите " Плагины"
- Нажмите Обзор хранилищ
- Записывать в поисковый колонок Android Drawable Importer
- Нажмите кнопку " Установить"
- И затем появится диалоговое окно Restart, просто перезагрузите его.
После того, как ур успел установить плагин, чтобы он работал над этим плагином, просто нажмите "Создать новое", а затем выберите " Пакетный чертеж". Затем нажмите кнопку "плюс", а затем кнопку "Добавить", и выберите файл, чтобы сделать его доступным. А затем просто нажмите "ОК" и "ОК", и он сделает все это.
Если вы запутались с моим словом, просто посмотрите учебник по изображению из learnmechine.