Добавление векторных изображений

В Android Studio есть инструмент Vector Asset Studio, который позволяет добавлять значки Material Design и импортировать файлы SVG и PSD в проект в качестве ресурсов класса VectorDrawable. Использование класса VectorDrawable вместо битовых карт позволяет уменьшить размер APK, поскольку один и тот же файл можно изменить размер для экранов с разной плотностью пикселей без потери качества изображения. Для более ранних версий Android, которые не поддерживают класс VectorDrawable, инструмент Vector Asset Studio может во время сборки преобразовать векторные изображения в растровые разных размеров для каждой плотности экрана.

Об инструменте Vector Asset Studio

Инструмент Vector Asset Studio добавляет в проект векторную графику в виде XML-файла, описывающего изображение. Поддерживать один XML-файл может быть проще, чем обновлять несколько растровых изображений с разным разрешением.

Чтобы использовать класс VectorDrawable с Jetpack Compose, необходимо установить минимальный уровень API для Android 5.0 (уровень API 21) и выше.

Android 4.4 (уровень API 20) и более ранние версии не поддерживают класс VectorDrawable. Если в вашем приложении задан один из этих уровней API, то при работе с Vector Asset Studio вы можете либо генерировать файлы PNG (по умолчанию), либо использовать метод обратной совместимости в AndroidX.

Для обратной совместимости инструмент Vector Asset Studio генерирует растровые изображения класса VectorDrawable. Векторные и растровые объекты упаковываются вместе в APK. Вы можете ссылаться на класс VectorDrawable как на Drawable в коде Kotlin или @drawable в коде XML. При запуске приложения автоматически отображается соответствующее векторное или растровое изображение в зависимости от уровня API.

Если вы хотите использовать только классы VectorDrawable, вы можете использовать AndroidX 1.0.0 или более поздней версии. Чтобы использовать этот метод, перед запуском Vector Asset Studio необходимо изменить файл build.gradle, как описано в разделе AndroidX. Класс VectorDrawableCompat в AndroidX позволяет поддерживать VectorDrawable в Android 2.1 (уровень API 7) и более поздних версиях.

Поддерживаемые типы векторной графики

В спецификации Google Material Design есть значки Material Design, которые можно использовать в приложениях для Android. Vector Asset Studio позволяет выбирать, импортировать и масштабировать значки Material Design, а также настраивать прозрачность и зеркальное отображение справа налево.

Кроме того, в Vector Asset Studio можно импортировать собственные файлы SVG и PSD. SVG – это открытый стандарт Консорциума Всемирной паутины (W3C), основанный на XML. Формат PSD поддерживает функции Adobe Photoshop. Инструмент Vector Asset Studio поддерживает основные стандарты, но не все функции SVG и PSD. При указании файла SVG или PSD инструмент Vector Asset Studio сразу же сообщает, поддерживается ли код графики. Он преобразует файл в XML-файл, содержащий код VectorDrawable. Если вы получаете ошибки, убедитесь, что векторный объект отображается правильно. Подробнее о поддержке и ограничениях для файлов PSD…

В Android 5.0 (уровень API 21) и более поздних версиях можно использовать класс AnimatedVectorDrawable для анимации свойств класса VectorDrawable. С помощью AndroidX вы можете использовать класс AnimatedVectorDrawableCompat для анимации класса VectorDrawable в Android 3.0 (уровень API 11) и более поздних версиях. Подробнее об анимированных векторных изображениях в Compose…

Особенности файлов SVG и PSD

Класс VectorDrawable подходит для простых значков. Значки Material Design – хороший пример изображений, которые подходят для использования в качестве векторных объектов. В то же время значки запуска приложений часто содержат много деталей, поэтому их лучше делать растровыми.

Первоначальная загрузка векторного изображения может потребовать больше циклов ЦП, чем загрузка соответствующего растрового изображения. После этого использование памяти и производительность у них схожи. Рекомендуем ограничить размер векторного изображения до 200 x 200 dp, иначе его отрисовка может занять слишком много времени.

Хотя классы VectorDrawable поддерживают один или несколько цветов, во многих случаях имеет смысл сделать значки черными (android:fillColor="#FF000000"). При таком подходе вы можете добавить оттенок к классу VectorDrawable, который вы поместили в макет, и цвет значка изменится на цвет оттенка. Если значок не черный, его цвет может смешаться с цветом оттенка.

Решения для обратной совместимости класса VectorDrawable

В таблице ниже приведены два способа обеспечить обратную совместимость.

Техника Графические объекты в APK-файле XML-элементы VectorDrawable Версия Флаги сборки Код приложения
Генерация PNG Векторные и растровые Поддерживается частично

SVG: плагин Android для Gradle версии 1.5.0 или более поздней.

Диалог структуры проекта: Android Studio 2.2 или более поздней версии.

По умолчанию Поддержка различных методов кодирования
AndroidX 1.0 или более поздней версии Вектор Полная поддержка Плагин Android для Gradle 3.2 или более поздней версии. Требуются инструкции Support Library Поддерживаемые методы программирования

Использование векторных объектов позволяет уменьшить размер APK, но их первоначальная загрузка может занять больше времени.

Генерация PNG

Класс VectorDrawable поддерживается в Android 5.0 (уровень API 21) и более поздних версиях. Если минимальный уровень API ниже, Vector Asset Studio добавляет в проект файл VectorDrawable, а Gradle при сборке создает растровые изображения PNG с разным разрешением. Gradle генерирует плотности PNG, указанные в свойстве generatedDensities предметно-ориентированного языка (DSL) в файле build.gradle.

Для Android 5.0 (уровень API 21) и более поздних версий инструмент Vector Asset Studio поддерживает все элементы VectorDrawable. Для обратной совместимости с Android 4.4 (уровень API 20) и более ранними версиями инструмент Vector Asset Studio поддерживает следующие элементы XML:

<vector>

  • android:width
  • android:height
  • android:viewportWidth
  • android:viewportHeight
  • android:alpha

<group>

  • android:rotation
  • android:pivotX
  • android:pivotY
  • android:scaleX
  • android:scaleY
  • android:translateX
  • android:translateY

<path>

  • android:pathData
  • android:fillColor
  • android:strokeColor
  • android:strokeWidth
  • android:strokeAlpha
  • android:fillAlpha
  • android:strokeLineCap
  • android:strokeLineJoin
  • android:strokeMiterLimit

Вы можете изменить XML-код, созданный инструментом Vector Asset Studio, хотя это и не рекомендуется. Изменение значений в коде не должно вызвать проблем, если они действительны и статичны. Если вы хотите добавить элементы XML, убедитесь, что они поддерживаются на вашем минимальном уровне API.

AndroidX

Для этого требуется AndroidX 1.0 или более поздней версии и плагин Android для Gradle 3.2 или более поздней версии. Используются только векторные объекты. Класс VectorDrawableCompat в AndroidX позволяет поддерживать VectorDrawable в Android 2.1 (уровень API 7) и более поздних версиях.

Прежде чем использовать Vector Asset Studio, добавьте в файл build.gradle следующую строку:

Kotlin

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

dependencies {
    implementation("androidx.appcompat:appcompat:1.7.1")
}

Яркий

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.7.1'
}

Запуск Vector Asset Studio

Чтобы запустить Vector Asset Studio, выполните следующие действия:

  1. Откройте проект приложения для Android в Android Studio.

  2. В окне Project (Проект) выберите Android view (Режим Android).

  3. Нажмите правой кнопкой мыши на папку res и выберите New (Создать) > Vector Asset (Векторный объект).

    Этот пункт меню также есть в некоторых других представлениях и папках проекта.

    Откроется окно Vector Asset Studio.

    Рис. 1. инструмент Vector Asset Studio.

  4. Если вместо этого появится диалоговое окно Need Newer Android Plugin for Gradle (Требуется более новая версия плагина Android для Gradle), исправьте версию Gradle следующим образом:

    1. Выберите File (Файл) > Project Structure (Структура проекта).

    2. В диалоговом окне Project Structure (Структура проекта) выберите Project (Проект).

    3. В поле Android Plugin Version (Версия плагина Android) измените версию плагина Android для Gradle на 1.5.0 или более позднюю и нажмите OK.

      Gradle синхронизирует проект.

    4. В окне Project (Проект) выберите Android view (Режим Android), нажмите правой кнопкой мыши на папку res и выберите New (Создать) > Vector Asset (Векторный объект).

      Откроется инструмент Vector Asset Studio.

  5. Перейдите к разделу Импорт векторной графики.

Импорт векторной графики

Инструмент Vector Asset Studio позволяет импортировать файл векторной графики в проект приложения. Выполните одно из следующих действий:

Добавление значка Material Design

Откройте Vector Asset Studio и добавьте значок Material Design, выполнив следующие действия:

  1. В Vector Asset Studio выберите Клип-арт.

  2. Нажмите кнопку в поле "Клип-арт".

  3. Откроется диалоговое окно Select Icon (Выбрать значок). Вы можете отфильтровать значки, выбрав категорию в меню или введя запрос в строке поиска, как показано на рисунке 2.

    Рисунок 2. Фильтрация значков Material Design в Vector Asset Studio.

    Выберите значок Material Design и нажмите ОК. Значок появится в окне Vector Drawable Preview (Предварительный просмотр класса VectorDrawable).

  4. При необходимости измените название, размер, прозрачность и зеркальное отображение ресурса (для языков с письмом справа налево):

    • Название. Если вы не хотите использовать название по умолчанию, введите новое. Если в проекте уже есть ресурс с таким названием, Vector Asset Studio автоматически создаст уникальное название, добавив в конец число. Название может содержать только строчные буквы, символы подчеркивания и цифры.

    • Переопределить. Выберите этот вариант, если хотите изменить размер изображения. Когда вы вводите новый размер, изменение появляется в области предварительного просмотра.

      По умолчанию используется размер 24 x 24 dp, который определен в спецификации Material Design. Чтобы вернуться к настройкам по умолчанию, снимите флажок.

    • Прозрачность. С помощью ползунка настройте прозрачность изображения. Изменения будут видны в области предварительного просмотра.

    • Включить автоматическое зеркальное отражение для макета с направлением письма справа налево. Выберите этот вариант, если хотите, чтобы при направлении письма справа налево показывалось зеркальное изображение. Например, некоторые языки читаются справа налево; если у вас есть значок стрелки, вы можете отобразить его зеркальное отображение в этом случае. Если вы работаете со старым проектом, вам также может потребоваться добавить android:supportsRtl="true" в манифест приложения. Автоматическое зеркальное отображение поддерживается в Android 5.0 (уровень API 21) и более поздних версиях, а также в AndroidX.

  5. Нажмите Далее.

  6. При необходимости измените модуль и каталог ресурсов:

    • Каталог ресурсов. Выберите набор исходных файлов, в который нужно добавить класс VectorDrawable: src/main/res, src/debug/res, src/release/res или набор исходных файлов, заданный пользователем. Основной набор исходных файлов применяется ко всем вариантам сборки, включая отладочную и рабочую. Наборы исходных файлов для отладки и выпуска переопределяют основной набор и применяются к одной версии сборки. Набор исходных файлов для отладки предназначен только для отладки. Чтобы определить новый набор исходных файлов, выберите File (Файл) > Project Structure (Структура проекта) > app (приложение) > Build Types (Типы сборки). Например, вы можете определить набор исходных файлов для бета-версии и создать версию значка с текстом "BETA" в правом нижнем углу. Подробнее о том, как настроить варианты сборки…

    В области Output Directories (Выходные каталоги) отображается векторный объект и каталог, в котором он появится.

  7. Нажмите Готово.

    Инструмент Vector Asset Studio добавляет в папку app/src/main/res/drawable/ XML-файл, определяющий векторный графический объект. В окне Project (Проект) в режиме Android view (Просмотр Android) можно посмотреть сгенерированный XML-файл векторного изображения в папке drawable.

  8. Создайте проект.

    Если минимальный уровень API – Android 4.4 (уровень API 20) и ниже, а вы не включили метод AndroidX, инструмент Vector Asset Studio создаст файлы PNG. В окне Project (Проект) в режиме Project Files (Файлы проекта) можно посмотреть сгенерированные файлы PNG и XML-файлы в папке app/build/generated/res/pngs/debug/.

    Не редактируйте сгенерированные растровые файлы, а работайте с векторным XML-файлом. Система сборки автоматически генерирует растровые файлы, когда это необходимо, поэтому вам не нужно их поддерживать.

Импорт файла SVG или PSD

Откройте Vector Asset Studio и импортируйте файл SVG или PSD, выполнив следующие действия:

  1. В Vector Asset Studio выберите Local file (Локальный файл).

    Файл должен находиться на локальном диске. Например, если файл находится в сети, сначала скачайте его на локальный диск.

  2. Укажите графический файл, нажав на значок … .

    Изображение появится в окне Vector Drawable Preview (Предварительный просмотр векторного графического объекта).

    Если файл SVG или PSD содержит неподдерживаемые функции, в нижней части Vector Asset Studio появится сообщение об ошибке, как показано на рисунке 3.

    Рисунок 3. Инструмент Vector Asset Studio, в котором показаны некоторые ошибки.

    Если вы видите ошибки, убедитесь, что импортированный класс VectorDrawable отображается правильно. Прокрутите список, чтобы посмотреть ошибки.

    Список поддерживаемых элементов можно найти в статье Решения для обратной совместимости класса VectorDrawable. Подробнее о поддержке и ограничениях для файлов PSD…

  3. При необходимости измените название, размер, прозрачность и зеркальное отображение ресурса (для языков с письмом справа налево):

    • Название. Введите новое название, если не хотите использовать название по умолчанию. Если в проекте уже есть ресурс с таким названием, Vector Asset Studio автоматически создаст уникальное название, добавив в конец число. Название может содержать только строчные буквы, символы подчеркивания и цифры.

    • Переопределить. Выберите этот вариант, если хотите изменить размер изображения. После выбора размер меняется на размер самого изображения. При изменении размера он будет показан в области предварительного просмотра. По умолчанию используется размер 24 x 24 dp, который определен в спецификации Material Design.

    • Прозрачность. С помощью ползунка настройте прозрачность изображения. Изменения будут видны в области предварительного просмотра.

    • Включить автоматическое зеркальное отражение для макета с направлением письма справа налево. Выберите этот вариант, если хотите, чтобы при направлении письма справа налево показывалось зеркальное изображение. Например, в некоторых языках текст читается справа налево. Если у вас есть значок со стрелкой, в этом случае вы можете отобразить его зеркальное изображение. Обратите внимание, что если вы работаете со старым проектом, вам может потребоваться добавить android:supportsRtl="true" в манифест приложения. Автоматическое дублирование экрана поддерживается в Android 5.0 (уровень API 21) и более поздних версиях, а также в AndroidX.

  4. Нажмите Далее.

  5. При необходимости измените каталог ресурсов:

    • Res Directory (Каталог ресурсов). Выберите набор исходных файлов, в который нужно добавить класс VectorDrawable: src/main/res, src/debug/res, src/release/res или набор, определенный пользователем. Основной набор исходных файлов применяется ко всем вариантам сборки, включая отладочную и рабочую. Наборы исходных файлов для отладки и выпуска переопределяют основной набор исходных файлов и применяются к одной версии сборки. Набор исходных файлов debug предназначен только для отладки. Чтобы определить новый набор исходных файлов, выберите File (Файл) > Project Structure (Структура проекта) > app (приложение) > Build Types (Типы сборки). Например, вы можете определить набор исходных файлов для бета-версии и создать версию значка, в правом нижнем углу которого будет написано "BETA". Подробнее о настройке вариантов сборки…

    В области Output Directories (Выходные каталоги) отображается векторный объект и каталог, в котором он появится.

  6. Нажмите Готово.

    Инструмент Vector Asset Studio добавляет в папку app/src/main/res/drawable/ XML-файл, определяющий векторный графический объект. В окне Project (Проект) в режиме Android view (Просмотр Android) можно посмотреть сгенерированный XML-файл векторного изображения в папке drawable.

  7. Создайте проект.

    Если минимальный уровень API – Android 4.4 (уровень API 20) и ниже, а вы не включили метод AndroidX, инструмент Vector Asset Studio создаст файлы PNG. В окне Project (Проект) в режиме Project Files (Файлы проекта) можно посмотреть сгенерированные файлы PNG и XML-файлы в папке app/build/generated/res/pngs/debug/.

    Не редактируйте сгенерированные растровые файлы, а работайте с векторным XML-файлом. Система сборки автоматически генерирует растровые файлы, когда это необходимо, поэтому вам не нужно их поддерживать.

Ссылка на векторный объект в Jetpack Compose

После того как вы добавили объект в папку res/drawable с помощью Vector Asset Studio, вы можете ссылаться на него в коде.

В Jetpack Compose самый распространенный способ отображения вектора – использование composable-функции Icon или Image.

Компонент Icon – это стандартный способ отображения небольших монохромных объектов. Он поддерживает принципы Material Design, такие как динамическое тонирование на основе тем Material 3 и автоматические специальные возможности с помощью описаний контента.

Используйте API painterResource, чтобы передать векторные объекты XML в composable-функцию:

Icon(
    painter = painterResource(id = R.drawable.ic_speedometer),
    tint = MaterialTheme.colorScheme.primary, // Applies dynamic theme color
    contentDescription = "Current Speed", // Essential for accessibility
)

Для сложных и многоцветных векторов используйте composable-функцию Image:

Image(
     painter = painterResource(id = R.drawable.ic_complex_vector),
     contentDescription = null // Decorative element
)

Информацию о других сложных сценариях, таких как настройка образа или оптимизация производительности, можно найти в статье Работа с образами. Информацию об анимации векторов можно найти в статье Анимированные векторные изображения в Compose.

Изменение XML-кода, созданного инструментом Vector Asset Studio

Вы можете изменить XML-код класса VectorDrawable, но не PNG-файлы и соответствующий XML-код, сгенерированный во время сборки. Однако мы не рекомендуем этого делать.

При использовании метода генерации PNG инструмент Vector Asset Studio обеспечивает соответствие между классом VectorDrawable и файлами PNG, а также наличие в манифесте правильного кода. Если вы добавите код, который не поддерживается в Android 4.4 (уровень API 20) и более ранних версиях, векторные изображения и изображения в формате PNG могут различаться. Также убедитесь, что манифест содержит код, поддерживающий ваши изменения.

Чтобы изменить XML-файл векторного изображения, если вы не используете AndroidX:

  1. В окне Project (Проект) нажмите дважды на сгенерированный XML-файл векторного изображения в папке drawable.

    XML-файл появится в окнах редактора и предварительного просмотра.

    Рисунок 4. Векторный XML-файл, показанный в редакторе кода и окне предварительного просмотра.

  2. Измените XML-код в соответствии с тем, что поддерживается минимальным уровнем API:

    • Android 5.0 (уровень API 21) и более поздние версии – инструмент Vector Asset Studio поддерживает все элементы Drawable и VectorDrawable. Вы можете добавлять элементы XML и изменять значения. В Jetpack Compose вы можете загрузить векторный объект drawable в ImageVector для дальнейшей настройки.

    • Android 4.4 (уровень API 20) и более ранние версии. Инструмент Vector Asset Studio поддерживает все элементы Drawable и некоторые элементы VectorDrawable. Решения для обратной совместимости класса VectorDrawable Вы можете изменить значения в сгенерированном коде и добавить поддерживаемые элементы XML.

  3. Выполните сборку проекта и убедитесь, что класс VectorDrawable и соответствующие растровые изображения выглядят одинаково.

    Помните, что сгенерированные PNG-файлы могут отображаться в окне Preview (Предварительный просмотр) иначе, чем в приложении, из-за разных механизмов рендеринга и изменений, внесенных в класс VectorDrawable перед сборкой. Если вы добавите код в XML-файл векторного изображения, созданный в Vector Asset Studio, то все функции, не поддерживаемые в Android 4.4 (уровень API 20) и более ранних версиях, не будут отображаться в сгенерированных PNG-файлах. Поэтому при добавлении кода всегда проверяйте, соответствуют ли сгенерированные PNG-файлы классу VectorDrawable. Для этого дважды нажмите на PNG-файл в окне Project (Проект) в режиме Project Files (Файлы проекта). Кроме того, когда код ссылается на графический объект, PNG-изображение отображается на левом поле редактора кода, как показано на рисунке 5.

    Рисунок 5. Изображение PNG, которое показывается на левом поле редактора кода.

Удаление класса VectorDrawable из проекта

Чтобы удалить векторный объект из проекта, выполните следующие действия:

  1. В окне Project (Проект) удалите сгенерированный XML-файл векторного изображения. Для этого выберите файл и нажмите клавишу Delete (Удалить) или выберите Edit (Изменить) > Delete (Удалить).

    Появится диалоговое окно Safe Delete (Безопасное удаление).

  2. При необходимости выберите параметры, чтобы найти, где файл используется в проекте, и нажмите ОК.

    Android Studio удалит файл из проекта и с диска. Однако если вы выбрали поиск мест в проекте, где используется файл, и некоторые варианты использования найдены, вы можете просмотреть их и решить, удалять ли файл.

  3. Выберите Build (Сборка) > Clean Project (Очистить проект).

    Все автоматически созданные файлы PNG и XML, соответствующие удаленному классу VectorDrawable, удаляются из проекта и с диска.

Как опубликовать приложение с классами VectorDrawable

Если вы использовали AndroidX или минимальный уровень API – Android 5.0 (уровень API 21) или выше, то ваш APK-файл будет содержать классы VectorDrawable, добавленные с помощью инструмента Vector Asset Studio. Такие APK-файлы будут меньше, чем если бы векторные изображения были преобразованы в PNG.

Если минимальный уровень API включает Android 4.4 (уровень API 20) или более раннюю версию и в вашем проекте есть соответствующие классы VectorDrawable и растровые изображения, вы можете распространять APK-файлы двумя способами:

  • Создайте один APK-файл, который содержит как классы VectorDrawable, так и соответствующие растровые изображения. Это решение проще всего реализовать.
  • Создайте отдельные APK для разных уровней API. Если вы не включите соответствующие растровые изображения в APK для Android 5.0 (уровень API 21) и более поздних версий, размер APK может быть намного меньше. Подробнее о поддержке нескольких APK-файлов…

Поддержка и ограничения для файлов PSD

Инструмент Vector Asset Studio поддерживает не все функции файлов PSD. Ниже перечислены поддерживаемые и неподдерживаемые характеристики PSD, а также некоторые особенности преобразования.

Документ

Поддерживаются:

  • Цветовой режим PSD: битовая карта, оттенки серого, индексированные цвета, RGB, Lab или CMYK.
  • Глубина цвета: 8, 16 или 32 бита.

Сведения о конверсии:

  • Размеры документа PSD становятся размерами класса VectorDrawable и области просмотра.

Не поддерживаются:

  • Цветовой режим PSD – дуплекс или многоканальный.

Фигуры

Поддерживаются:

  • Обтравочные маски, если обтравочная база является другой фигурой.
  • Операции с фигурами, включая объединение/добавление, пересечение, вычитание и исключение.

Не поддерживаются:

  • Правило четности-нечетности, используемое для заливки фигур в Photoshop. В Android 6.0 (уровень API 23) и более ранних версиях класс VectorDrawable поддерживает только ненулевое правило заполнения. В самопересекающихся фигурах это ограничение может привести к различиям в отрисовке между PSD и результирующим классом VectorDrawable. Чтобы устранить проблему, добавьте android:fillType="evenOdd" к фигуре в классе VectorDrawable. Пример:

    <vector xmlns:android="https://schemas.android.com/apk/res/android"
      android:viewportHeight="168"
      android:height="24dp"
      android:viewportWidth="209"
      android:width="24dp">
    
      <path
          android:fillAlpha="1.0"
          android:fillColor="#000000"
          android:fillType="evenOdd"
          android:pathData="M24,58 L24,167 L114,167 L114,66 M64,1 L64,96 L208,96 L208,8 M1,97 L146,139 L172,47"/>
    </vector>

Обводка и заливка

Поддерживаются:

  • Обводка, включая цвет, прозрачность, ширину, соединение, концы, штрихи и выравнивание.
  • Сплошные заливки и контуры.
  • Цвета контура и заливки, указанные в RGB, Lab или CMYK.

Сведения о конверсии:

  • Если обводка пунктирная, обрезана с помощью обтравочного контура или выровнена не по центру, инструмент Vector Asset Studio преобразует ее в фигуру с заливкой в классе VectorDrawable.

Не поддерживаются:

  • Заливки и штрихи, отличные от сплошных, например градиенты.

Прозрачность

Поддерживаются:

  • Слои фигур с нулевой прозрачностью.

Сведения о конверсии:

  • Чтобы вычислить альфа-канал заливки, инструмент Vector Asset Studio умножает прозрачность заливки на прозрачность слоя.
  • Инструмент умножает непрозрачность основы обрезки (если она есть) на альфа-канал заливки, чтобы вычислить итоговый альфа-канал заливки.
  • Чтобы вычислить альфа-канал контура, инструмент умножает прозрачность контура на прозрачность слоя.
  • Инструмент умножает непрозрачность основы обрезки (если она есть) на альфа-канал обводки, чтобы вычислить итоговый альфа-канал обводки.

Слои

Поддерживаются:

  • Любой видимый слой фигур.

Сведения о конверсии:

  • Инструмент Vector Asset Studio сохраняет названия слоев в файле векторного графического объекта.

Не поддерживаются:

  • Эффекты слоев.
  • Корректирующие и текстовые слои.
  • Режимы смешивания (игнорируются).

Поддержка и ограничения для файлов SVG

Инструмент Vector Asset Studio поддерживает не все функции файлов SVG. В следующем разделе перечислены поддерживаемые и неподдерживаемые функции при преобразовании SVG-файла в VectorDrawable, а также приведены дополнительные сведения о преобразовании.

Поддерживаемые функции

VectorDrawable поддерживает все функции Tiny SVG 1.2, кроме текста.

Фигуры

VectorDrawable поддерживает пути SVG.

Инструмент преобразует простые фигуры, такие как круги, квадраты и многоугольники, в контуры.

Преобразования

Инструмент поддерживает матрицы преобразования и применяет их непосредственно к дочерним контурам.

Группы

Инструмент поддерживает групповые элементы для перевода, масштабирования и поворота. Группы не поддерживают свойство непрозрачности.

Инструмент также применяет к дочерним контурам стиль или прозрачность группы.

Заливка и контур

Контуры можно заполнять и обводить сплошными цветами или градиентами (линейными, радиальными или угловыми). Поддерживаются только центрированные штрихи. Режимы смешивания не поддерживаются. Пунктирные контуры не поддерживаются.

Маски

Для каждой группы можно использовать только одну обтравочную маску.

Функции, не поддерживаемые импортером SVG

Все функции, не перечисленные в разделе Поддерживаемые функции, не поддерживаются. В частности, не поддерживаются следующие функции:

  • Эффекты фильтров, такие как тени, размытие и цветовая матрица, не поддерживаются.
  • Текст. Рекомендуется преобразовать текст в фигуры с помощью других инструментов.
  • Заливка узором

Дополнительные ресурсы

Дополнительную информацию о векторной графике можно найти в следующих ресурсах:

Документация

Просмотр контента