Вопрос: Приложение командной строки для преобразования SVG в PNG в Mac OS X


Существуют ли программы командной строки, которые могут преобразовывать SVG в PNG, которые выполняются в Mac OS X?

редактировать: У Дилана Б был хороший ответ с ImageMagick. Для справки, чтобы установить ImageMagick с поддержкой SVG в Mac OS X с помощью MacPorts, выполните

port install imagemagick +rsvg

124
2018-04-26 01:53


Источник


Я нашел способ, если у вас есть Google Chrome ... и нет необходимости устанавливать какие-либо другие вещи: superuser.com/questions/134679/... - 太極者無極而生


Ответы:


Или не устанавливая ничего:

qlmanage -t -s 1000 -o . picture.svg 

Он будет создавать picture.svg.png шириной 1000 пикселей.

Я тестировал его только на OS X 10.6.3.


182
2018-05-17 13:32



К сожалению, этот клип изображения на квадрат. - Martijn Pieters
Ах, qlmanage -t дает миниатюру, используемую Quick Look (в Finder и т. д.). Умная идея. К сожалению, эти миниатюры могут быть ошибочными, особенно когда есть текст. - ShreevatsaR
Это создает изображения с svg-файлом в первом квадранте. Не автоматическая обрезка. Попытка конвертировать файлы из существительного проекта - желаю, чтобы это сработало. - Alex Cook
Это решение не учитывает транспарентность. Инструмент rsvg-convert в ответе @ ahti, который был разработан раньше для меня. - BenR
Установка параметров ширины и высоты после -s вариант не работал для меня. По-прежнему урожай его на площадь. Очень расстраивает! - Erik van der Neut


Я нашел, что для меня лучшим инструментом для работы является rsvg-convert,

Его можно найти в варево brew install librsvg и используется следующим образом:

rsvg-convert -h 32 icon.svg > icon-32.png

(В этом примере создается 32px high png. Ширина определяется автоматически.


69
2018-02-28 20:47



Это единственный, который работал для меня на Mavericks и commons.wikimedia.org/wiki/... - Aron Ahmadia
На самом деле это работало, в то время как ImageMagick's convert выпустил ошибки и не смог скрыть сложный SVG - Brice
Это, безусловно, лучшее решение, которое я нашел для OS X Yosemite +1! - Greg Martin
Это не удалось для некоторых из моих SVG, как ни странно. qlmanage Ответ работал на всех, но поставил белый фон, чего я не хочу. - sudo
С rsvg-convert, результат .png имел правильные размеры, но изображение получило все черные, а не оригинальные цвета. С qlmanage изображение обрезается до квадрата. Все еще ищет решение :-( - Erik van der Neut


ImageMagick является очень универсальный редактор изображений командной строки, который, вероятно, конкурировал бы с Photoshop, если бы он был, как вы знаете, графическим интерфейсом. Но кому это нужно. :П

Что-то вроде следующего будет конвертировать .svg в .png после установки:

$ convert picture.svg picture.png

Исходный .svg не удаляется.


34
2018-04-26 02:00



Это вроде имеет графический интерфейс, в display, - Ignacio Vazquez-Abrams
Когда я установил ImageMagick с Fink, я не смог преобразовать svg в png - были некоторые ошибки. Оказалось, что мне нужно установить librsvg2-bin. - tst
Если librsvg2-bin не установлен (например, на OS X), это не сработает. Не удалось найти способ установить его на OS X. - John Sheehan
Это не будет работать, если вы хотите изменить размер SVG, поскольку он создает размытые изображения. - Behrang
Он не преобразует все файлы SVG правильно; по крайней мере qlmanage получил все части изображения. - Johan


Inkscape с его Commandline-Interface дает лучшие результаты для меня:

/Applications/Inkscape.app/Contents/Resources/bin/inkscape --export-png output.png -w 1024 -h 768 input.svg

Хорошо, вы можете указать точный размер пикселя результирующего изображения, не связывая его с плотностью.


25
2018-01-05 13:04



это работает на меня! - У меня большой SVG, созданный с помощью Inkscape - matheszabi
Это единственный метод, который правильно выполнил мои собственные svg - Griffin
Convert не создает хорошие файлы PNG из SVG. Использование Inkscape - лучший способ, который я нашел до сих пор. - ol_v_er
Это работает для меня, но создает чрезвычайно размытые файлы. - Marcin
У меня возникла проблема с поиском файлов, поэтому запустите его как inkscape $(pwd)/logo.svg --export-png $(pwd)/logo.png - Andrei


Хорошо, я нашел простой способ сделать это на Mac, если у вас есть Google Chrome.

В одном предложении он должен видеть svg изображения на веб-странице (должно быть в html файл), щелкните правой кнопкой мыши по изображению и выберите «Копировать изображение» и вставьте в приложение «Просмотр».

шаги:

  1. Загрузите или svg файл на жестком диске, скажем, somefile.svg
  2. Теперь, в той же папке, просто создайте html-файл tmp.html который содержит эту строку: <img src="somefile.svg">
  3. Теперь откройте этот html-файл в Google Chrome
  4. Вы должны увидеть изображение. Теперь просто щелкните правой кнопкой мыши по изображению и выберите «Копировать изображение»,
  5. Перейдите в приложение предварительного просмотра Mac и выберите, "File -> New from Clipboard"
  6. Теперь File -> Save файла, и у вас есть png файл. (или других типов файлов).

Это протестировано в текущем Chrome (версия 48.0) на Mac OS X El Capitan.

Обновить: Я не уверен, связано ли это с некоторыми ограничениями, наложенными Google Chrome. Я просто пытаюсь использовать SVG-файл, используя Chrome 58.0, и получаю крошечное изображение из вышеописанного метода. Если вы видите это дело, вы также можете использовать

<img src="somefile.svg" style="height: 82vh; margin-top: 9vh; margin-left: 9vh">

и у вас будет изображение на экране, достаточно хорошее для вас, чтобы сделать снимок экрана - используя Cmdсдвиг4 или Cmdсдвиг3 на Mac, например. Убедитесь, что вы изменили размер окна Chrome до максимально допустимого на экране.


11
2018-02-07 19:02



Умное решение! - Manu
Это действительно дает лучшие результаты для меня, так как он делает то же самое, что и браузер. - Jason Haslam
результирующее изображение для меня было очень плохим. - Michael


Если вы хотите сделать много сразу, вы можете:

mogrify -format png *.svg

Есть варианты изменить размер и т. Д. На лету тоже ..


4
2018-04-10 14:12



mogrify также является номиналом ImageMagick. - ShreevatsaR
Отлично работает, но жестоко медленно. - Meekohi
-1? Кто-то думает, что это не полезно? Какая ошибка? - DefenestrationDay
Я не тот, кто занижен, но стоит отметить, что ImageMagick глупо преобразует svg в растровое изображение произвольного размера до изменения размера, что приводит к размытому результату. - Dae


Пытаться Apache Batik,

java -jar batik-rasterizer.jar FILES

Он также поддерживает пакетное преобразование и имеет много других полезных опций.


3
2018-05-23 03:05





я сделал svgexport используя для этого узел / npm, он является кросс-платформенным и может быть таким простым, как:

svgexport input.svg output.png

2
2017-09-27 08:47



Это был самый простой способ использовать и запомнить. Кроме того, единственный, который дал правильный результат в моем случае. - Marko Grešak
результирующая резолюция для меня не была большой. - Michael