Есть ли способ создать xxhdpi, xhdpi, hdpi, mdpi и ldpi чертежи из крупномасштабного изображения?

Есть ли способ автоматически создавать графики xxhdpi, xhdpi, hdpi, mdpi и ldpi из крупномасштабного изображения? Например, предположим, что у меня есть изображение 512x512, и я хочу иметь разные версии этих изображений для разных разрешений экрана, поддерживаемых Android в соответствующих папках.

Ответ 1

Вариант № 1: Просто отправьте чертежи -xxhdpi и дайте Android сверить их для вас во время выполнения (недостаток: будет работать только на довольно недавних устройствах, где известен -xxhdpi).

Вариант № 2. Используйте Android Asset Studio, чтобы уменьшить их выборку.

Вариант № 3: автоматизировать процесс в графическом редакторе, согласно ответу ssantos.

Вариант № 4. Сценарий решения, используя что-то вроде ImageMagick.

Вариант № 5: Используйте Image Baker

Ответ 2

Я использую плагин Android Studio с именем Android Drawable Importer:

enter image description here

Чтобы использовать его после установки, щелкните правой кнопкой мыши папку res/drawable и выберите New > Batch Drawable Import:

Затем выберите свое изображение с помощью кнопки + и установите разрешение равным xxhdpi (или независимо от разрешения исходного изображения).

Ответ 3

Я попытаюсь объяснить процесс поэтапно, так что он будет понятен любому.

1. Перейдите в "Настройка" > "Плагины" введите описание изображения здесь

2. Поиск "Android Drawable Importer" в строке поиска введите описание изображения здесь

. 3. По умолчанию он не будет показывать плагин, чтобы выполнить поиск в Интернете. Нажмите "Browse" Ссылка. введите описание изображения здесь

4. Затем установите плагин, он покажет загрузку.... иногда он может не показывать загрузку, поэтому обязательно проверьте в нижней части студии Android, она показывает загрузку. введите описание изображения здесь

5. Теперь перезапустите студию Android

6. Как вы можете видеть в следующем скринкапе, здесь есть только одна возможность введите описание изображения здесь

7. теперь щелкните правой кнопкой мыши на папке с возможностью переноса и выберите "Создать" > "Пакетный динамический импорт" . введите описание изображения здесь

8. Теперь нажмите значок

9. Теперь выберите "Single" образ, который вы хотите использовать для разных вариантов чертежей.

введите описание изображения здесь

10. Теперь выберите, какой размер имеет исходное изображение. Если исходное изображение xxhdpi, как в моем случае, выберите "xxhdpi" как "Source Resoultion".

11. Теперь нажмите "ОК", затем снова ок... и затем это займет несколько секунд, а затем вы волшебным образом получите все переменные чертежей. введите описание изображения здесь введите описание изображения здесь

Ответ 4

Используйте онлайн-сервис, такой как Image Baker.

image baker

Это просто. Загрузите изображения и загрузите обработанные ресурсы для Android и iOS.

Downloaded images

Примечание: 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
Он генерирует ресурсы локально в вашем браузере, без загрузки, без загрузки.

enter image description here

Ответ 7

Просто нашел простой способ сделать это в новой Android Studio:

введите описание изображения здесь

введите описание изображения здесь

Ответ 8

Я использую инструмент под названием Android Icon Set в Eclipse для стандартных значков, таких как Launcher, ActionBar, иконки вкладки и значки уведомлений. Вы можете запустить его из файла → Создать → Другое.. → Android → Android Icon Set. Самое приятное то, что вы можете выбрать любой файл с вашего компьютера, и он автоматически поместит все изображения стандартных размеров в каталог вашего проекта.

enter image description here

Ответ 10

  1. Просто используйте https://romannurik.github.io/AndroidAssetStudio/index.html. Он может сделать набор иконок из изображения, позже вы можете скачать zip файл.
  2. Или загрузите приложение Windows по адресу https://github.com/redwarp/9-Patch-Resizer/releases (не требует установки) и откройте значок.
  3. Также вы можете использовать плагин 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.

Чтобы использовать его, просто скачайте его и используйте скрипт из фотошопа.

enter image description here

И сконфигурируйте, где вы хотите генерировать выходные файлы.

enter image description here

Ответ 13

Существует также возможность использовать Vector Asset Studio в сочетании с Масштабируемая векторная графика (SVG). Android Studio будет обрабатывать остальное для вас. Поскольку официальная документация гласит:

Vector Asset Studio позволяет добавлять значки материалов и импортировать Масштабируемые Векторные графические (SVG) файлы в ваш проект приложения в качестве ресурс. По сравнению с растровыми изображениями векторные чертежи могут размер вашего приложения и изменять размер без потери качества изображения. Oни помогут вам более легко поддерживать различные устройства Android с различной размеры экрана и разрешения, потому что вы можете отобразить один вектор которые можно использовать для всех.

Я считаю это будущим.

Запись в меню студии Vector Asset

Снимок экрана студии Vector Asset

Ответ 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.