2013-06-14 3 views
1

Как преобразовать SVG-файл в изображение с помощью Go?Преобразование SVG в изображение

Я нашел потрясающую библиотеку svgo и хотел бы использовать ее для создания пользовательского набора игральных карт. Идея состоит в том, чтобы хранить текст и макет карты в текстовом файле, а затем читать и обрабатывать ее с помощью go. Это будет огромным улучшением моего текущего рабочего процесса, когда я использую gimp для редактирования каждой отдельной карты. Проблема в том, что мне нужно иметь изображение карты для печати. Предпочтительно png, поскольку сценарий печати пока работает только с этим форматом. Но я мог бы легко адаптировать его, чтобы принять jpeg.

К сожалению, svgo не предлагает функции экспорта. Можете ли вы порекомендовать библиотеку go для преобразования svg в png?

ответ

3

Одна из возможных стратегий - написать SVG в файлы и вызвать внешний инструмент для их преобразования. Например, ImageMagick и связанные с ним GraphicsMagick преобразуют SVG в PNG через параметры командной строки. Вам нужно будет использовать глагол convert, возможно, в рамках их пакетной поддержки, если вы одновременно конвертируете множество изображений.

GraphicsMagick имеет bindings для C и других языков, которые вы могли бы использовать непосредственно из ваших сценариев Go, хотя я сам этого не пробовал.

0

Я не могу найти родную библиотеку Go, чтобы сделать это, но, похоже, есть способ конвертировать элемент HTML canvas в PNG довольно просто в Javascript.

Поэтому вы можете выводить SVG на элемент HTML canvas, а затем использовать JS для экспорта в SVG.

Для получения более подробной информации см. this answer.

+0

HTML5 canvas по существу эквивалентен SVG в HTML5 - оба они имеют одинаковые возможности рисования, и, вероятно, они имеют один и тот же механизм рендеринга. В JS проще управлять холстом напрямую, чем создавать узлы SVG DOM, но тот же результат достигается в любом случае. –

Смежные вопросы