Спасибо за ваши комментарии. Я понимаю, что моя первоначальная формулировка могла сбивать с толку, поэтому я попытался уточнить, что я ищу...
Я использую Inkscape для разработки и экспорта ресурсов приложений. Эти активы создаются в 4-кратном масштабе (что соответствует xxxhdpi
на Android или @4x
iOS). Предположим, у меня есть несколько векторных значков размером 256x256 пикселей в одном SVG, открытом в Inkscape. Мне нужно экспортировать каждый из этих значков со следующими разрешениями:
mdpi
для Android) -> 64x64 пикселейhdpi
для Android) -> 96x96 пикселейxhdpi
для Android, @2x
для iOS) -> 128x128 пикселейxxhdpi
для Android, @3x
для iOS) -> 192x192 пикселейДелать это вручную очень утомительно. Мой вопрос таков: есть ли эффективный способ экспортировать один или несколько конкретных объектов в файле SVG с несколькими разрешениями из Inkscape?
Примечание . Я собрал работающее скриптовое решение, которое несколько раз вызывает svg-objects-export , но оно очень медленное и неудобное, потому что мне нужно адаптировать скрипт каждый раз, когда я добавляю ресурс в SVG-файл.
В идеале я ищу решение внутри Inkscape («Нажмите и экспортируйте», возможно, для нескольких выбранных объектов одновременно). Если это невозможно, я выберу следующий лучший вариант. Решение с командной строкой подойдет, если оно быстрое и автоматически экспортирует все активы в файл.
По соображениям качества я также не ищу решение для уменьшения масштаба экспортируемых PNG.
Возможно, попробуйте любое из этих расширений (не проверял их):
https://inkscape.org/en/~owenfromcanada/%E2%98%85androidvector (другая концепция, экспортирует векторы для Android)
https://github.com/ChristianBecker/inkscape-android-export (то, что вы просили)
(поиск в Интернете может найти еще пару из них, ключевые слова «расширение Inkscape android»)
Существует расширение для генератора значков приложений от Carlos Vazquez, но похоже, что автор забросил проект и не принимает запросы на включение. Лучший форк на данный момент: https://github.com/firephreek/inkscape_app_icon_generator
Проверьте этот инструмент https://github.com/redwarp/9-patch-resizer . Он автоматически изменит размер файлов .png на несколько плотностей.
Паоло Джибеллини
KlaasNotFound
--export-id
. Я надеялся найти решение, которое позволило бы мне экспортировать все объекты в SVG. Хотя такого варианта, похоже, не существует.Паоло Джибеллини
KlaasNotFound
Паоло Джибеллини
Scribblemacher
inkscape my-file.svg --export-png=my-file-mdpi.png --export-dpi 22.50
работает нормально. Вам просто нужно создать 4-строчный скрипт, который экспортирует в каждом размере. Сценарий может даже принимать имя файла в качестве аргумента, поэтому его можно использовать повторно, если вы делаете это регулярно для разных изображений.KlaasNotFound
Scribblemacher
--export-id
, как упомянуто @KlaasNotFound, кажется мне прекрасным решением, если вы даете областям предсказуемое имя. Лично я бы просто разделил его на отдельные файлы SVG и запустил сценарий для каждого файла в каталоге. Хотя это, вероятно, распространенный вариант использования Inkscape, у него просто нет возможности делать то, что вы просите (как есть — я уверен, что можно написать расширение). Мне было бы любопытно, есть ли в Illustrator такая функция.КайлМит