Как создать иконки Android PNG из SVG с помощью GIMP

Я в значительной степени нуб в графическом дизайне, как вы можете сказать по этому очень простому вопросу. Я пытаюсь создать набор значков Android из файла SVG, который у меня есть. Если вы не знали, для поддержки различных размеров устройств я должен создать значок для экранов MDPI, HDPI и XHDPI. Более подробную информацию можно найти здесь

Вот рекомендуемые размеры для каждого размера:

  • MDPI — 160 точек на дюйм, 48x48 пикселей
  • HDPI — 240 dpi, 72x72px (1,5x MDPI)
  • XHDPI — 320 точек на дюйм, 96x96 пикселей (2x MDPI)

Как я уже говорил, я начинаю с файла SVG, который у меня есть. Первое, что я делаю, это открываю файл SVG с помощью GIMP. Вот тут я начинаю путаться. Какое значение я должен указать для пикселей/в? По умолчанию 90.

После того, как я пройду этот экран, я сразу же экспортирую его в PNG. Когда я это делаю, мне предлагается другой экран с кучей разных опций. Обычно я просто оставляю его по умолчанию, но я не уверен, что это лучшая идея. В любом случае, когда я прохожу этот процесс, мои значки по-прежнему выглядят очень размытыми на моем Nexus 4.

Любая помощь приветствуется.

Ответы (1)

Ссылка для разработчиков Android немного сбивает с толку, потому что в ней упоминается DPI, но вам не стоит об этом беспокоиться. DPI важен для устройств, но не нужен для разработки значков (обычно я не использую Gimp, поэтому не знаю, есть ли у него автоматический способ подготовки файлов для разных разрешений, но я предполагаю, что вы хотите сделайте это вручную и создадите копии для каждого размера).

Важная часть заключается в следующем:

Чтобы создать значок для различных плотностей, вы должны следовать коэффициенту масштабирования 2:3:4:6 между четырьмя основными плотностями (средняя, ​​высокая, x-высокая и xx-высокая соответственно). Например, предположим, что размер значка запуска указан как 48x48 dp. Это означает, что исходный объект (MDPI) имеет размер 48 x 48 пикселей , а ресурс высокой плотности (HDPI) должен быть в 1,5 раза больше базового (72 x 72 пикселя ), а ресурс x-high-density (XHDPI) должен быть в 2 раза больше базового (96 x 96 пикселей ) и скоро.

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

Теперь к вашей проблеме:

У вас есть файл SVG с набором иконок. В документации указано, что рекомендуемый размер для наибольшей плотности — 96x96px. Это связано с тем, что смартфоны имеют вдвое большую плотность пикселей, чем настольные мониторы.

Вот почему значок размером 48x48 пикселей будет нормально выглядеть на вашем компьютере, но размытым на вашем нексусе, потому что вашему нексусу нужно больше качества, чтобы заполнить то же пространство. Ему нужно ровно 2-кратное качество, потому что это экран 2-кратного MDPI (у него удвоенное количество пикселей на «пиксельное пространство», в то время как 1,5 MDPI имеет 1,5-кратную плотность).

Вкратце: вам понадобятся 3 значка. Размеры 48x48px, 72x72px и 96x96px . На устройствах все ваши значки будут выглядеть одинакового размера, потому что они масштабируются, чтобы сохранить хорошее качество при большем разрешении экрана.

Упомянутая вами проблема с пикселями/входом предназначена для печати, а не для цифровой печати, поэтому вам не нужно об этом беспокоиться. Просто сделайте значки таких размеров, и вы увидите, что они хорошо смотрятся в Nexus.

Вот некоторые другие вопросы, касающиеся работы со значками приложений: