Программный графический инструментарий - PullRequest
2 голосов
/ 04 января 2009

Я нарисовал значок в Inkscape , но теперь хотел бы программно изменить его (слегка изменить цвета для разных состояний значков) и преобразовать его в плиточный файл формата PNG, содержащий несколько значков с разными цветами. , Я знаю о параметрах Inkscape - export-png , но не вижу способа заставить его изменить изображение и / или несколько раз экспортировать его в разные части объединенного изображения.

Есть ли какие-нибудь хорошие ориентированные на пользователя инструменты для программного манипулирования изображениями, или мне нужно углубиться в GD или даже вручную изменить SVG XML?

Ответы [ 2 ]

3 голосов
/ 04 января 2009

Несмотря на то, что я не уверен на 100%, удовлетворяет ли ваш запрос пользовательской ориентации, я рекомендую вам взглянуть на www.imagemagick.org . Я успешно использовал утилиту "convert" для преобразования сценариев из SVG в PNG, а также для добавления пользовательских цветов фона.

0 голосов
/ 18 августа 2009

Я использую два простых набора инструментов для веб-комикса:

  • Базовые сценарии Perl / PHP / Ruby для изменения SVG XML (есть и отличная библиотека Perl, но я считаю, что она не нужна для необходимых базовых изменений)
  • Запустите Inkscape из командной строки, чтобы отобразить SVG в PNG. SVG-рендеринг Inkscape - лучший из всех, что я нашел.

Примечание: Inkscape можно установить на веб-сервере с небольшим трудом и вызвать из CGI (perl, php и т. Д.), Хотя он и медленный (поэтому вам следует кэшировать результаты).

Вызов из командной строки в каталоге файлов SVG:

find -name "*svg" -exec inkscape -z --file={} \ 
    --export-png=$OUTPUT{}.png --export-width=640 --vacuum-defs \;
  • Находит все файлы SVG
  • Запускает Inkscape для рендеринга каждого файла
  • Ширина ограничена 640px
  • Файлы SVG очищены (это хорошо сделать перед проверкой в ​​svn / git)

Вас также может заинтересовать Batik , движок рендеринга SVG, написанный на Java. Он отлично работает на стороне сервера и довольно автономен.

...