Как преобразовать PNG-изображение в SVG?

Как преобразовать PNG-изображение в SVG?

Существует веб-сайт, на котором вы можете загрузить свое изображение и посмотреть результат.

http://vectormagic.com/home

Но если вы хотите скачать svg-образ, вам необходимо зарегистрироваться. (Если вы зарегистрируетесь, вы получите 2 изображения бесплатно)

potrace не поддерживает PNG в качестве входного файла, а PNM .
Поэтому сначала convert из PNG в PNM:

 convert file.png file.pnm # PNG to PNM potrace file.pnm -s -o file.svg # PNM to SVG 

Объяснить варианты

  • potrace -s => Выходной файл – S VG
  • potrace -o file.svg => Запись вывода в file.svg

пример

Входной файл = 2017.png Входной файл

 convert 2017.png 2017.pnm 

Временный файл = 2017.pnm

 potrace 2017.pnm -s -o 2017.svg 

Выходной файл = 2017.svg Выходной файл

скрипт

ykarikos предлагает скрипт png2svg.sh, который я улучшил:

 #!/bin/bash File_png="${1?:Usage: $0 file.png}" if [[ ! -s "$File_png" ]]; then echo >&2 "The first argument ($File_png)" echo >&2 "must be a file having a size greater than zero" ( set -x ; ls -s "$File_png" ) exit 1 fi File="${File_png%.*}" convert "$File_png" "$File.pnm" # PNG to PNM potrace "$File.pnm" -s -o "$File.svg" # PNM to SVG rm "$File.pnm" # Remove PNM 

Однострочная команда

Если вы хотите преобразовать многие файлы, вы также можете использовать следующую команду:

 ( set -x ; for f_png in *.png ; do f="${f_png%.png}" ; convert "$f_png" "$f.pnm" && potrace "$f.pnm" -s -o "$f.svg" ; done ) 

Смотрите также

См. Также это хорошее сравнение растровых и векторных преобразователей в Википедии.

Png – это стиль растрового изображения, а SVG – векторный графический дизайн, который поддерживает растровые изображения, поэтому он не будет преобразовывать изображение в векторы, а просто изображение, встроенное в векторный формат. Вы можете сделать это, используя http://www.inkscape.org/, который является бесплатным. Он будет внедрять его, однако он также имеет движок Live Trace, который будет пытаться преобразовать его в пути, если вы хотите (используя potrace). См. Прямую трассировку в adobe illustrator (commericial) является примером:

http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm

Возможно, вы захотите посмотреть на potrace .

Легко

  1. Загрузите Inkscape (это совершенно бесплатно)
  2. Следуйте инструкциям в этом коротком видео с YouTube

Как вы увидите, если вы хотите сделать много другого умного материала .svg, вы можете сделать это, используя Inkscape.

Нетехническое наблюдение: я лично предпочитаю этот метод над «бесплатными» предложениями на сайте, потому что, помимо часто требующей регистрации, путем загрузки изображения, на всех практических условиях, один дает изображение владельцу веб-сайта.

с adobe illustrator:

Откройте Adobe Illustrator. Нажмите «Файл» и выберите «Открыть», чтобы загрузить файл .PNG в программу. Извлеките изображение по мере необходимости, прежде чем сохранять его как .SVG-файл. Нажмите «Файл» и выберите «Сохранить как». Создайте новое имя файла или используйте существующее имя. Убедитесь, что выбранный тип файла – SVG. Выберите каталог и нажмите «Сохранить», чтобы сохранить файл.

или

онлайн-конвертер http://image.online-convert.com/convert-to-svg

я предпочитаю ИИ, потому что вы можете внести любые изменения

удачи

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

Лично у меня были удовлетворительные результаты с помощью Vector Magic

Тем не менее это не идеально.

Замечание тем, кто использует potrace и imagemagick , конвертирует изображения PNG с прозрачностью в PPM , похоже, не работает очень хорошо. Вот пример, который использует флаг -flatten для convert :

 sudo apt-get install potrace imagemagick convert -flatten input.png output.ppm potrace -s output.ppm -o output.svg rm output.ppm 

Еще одно интересное явление: вы можете использовать PPM (256 * 3 цвета, т. Е. RGB), PGM (256 цветов, то есть оттенки серого) или PBM (только 2 цвета, т. Е. Только белый или черный). Из моих ограниченных наблюдений казалось бы, что на изображениях, которые сглажены, PPM и PGM (которые, как я вижу, производят идентичные SVG ), сокращают цветную область, а PBM расширяет цветную область (хотя и немного). Предположительно, это разница между тестом pixel > (256 / 2) тестом pixel > 0 . Вы можете переключаться между ними, изменяя расширение файла, т. Е. следующее использование PBM :

 sudo apt-get install potrace imagemagick convert -flatten input.png output.pbm potrace -s output.pbm -o output.svg rm output.pbm 

Вы также можете попробовать http://image.online-convert.com/convert-to-svg

Я всегда использую его для своих нужд.

Я просто нашел этот вопрос и ответы, поскольку я пытаюсь сделать то же самое! Я не хотел использовать некоторые из других упомянутых инструментов. (Не хотите отсылать мою электронную почту и не хотите платить). Я обнаружил, что Inkscape (v0.91) может выполнять довольно хорошую работу. Это руководство быстро и легко понять.

Его так же просто, как выбор растрового изображения в Inkskape и Shift + Alt + B.

Обнаружение кромок с помощью растрового изображения Inksape Trace на основе potrace

В зависимости от того, почему вы хотите конвертировать из .png в .svg, вам, возможно, не придется беспокоиться. Преобразование из .png (растр) в .svg (vector) может быть больно, если вы не очень хорошо знакомы с имеющимися инструментами или если вы не являетесь графическим дизайнером по профессии.

Если кто-то отправляет вам большой файл с высоким разрешением (например, 1024×1024), вы можете изменить его размер до практически любого размера, который вы хотите использовать в GIMP. Часто возникают проблемы с изменением размера изображения, если разрешение (количество пикселей на дюйм) слишком низкое. Чтобы исправить это в GIMP, вы можете:

  1. File -> Open : ваш .png-файл
  2. Image -> Image Properties : проверьте разрешение и цветовое пространство. Вы хотите разрешение около 300 ppi. В большинстве случаев вам нужно, чтобы цветовое пространство было RGB.
  3. Image -> Mode : установите значение RGB
  4. Image -> Scale Image : оставьте размер отдельно, установите и разрешение Y до 300 или больше. Шкала попадания.
  5. Image -> Scale Image : теперь разрешение должно быть 300, и теперь вы можете resize изображения до практически любого размера.

Не так просто, как изменение размера .svg-файла, но, безусловно, проще и быстрее, чем пытаться преобразовать .png в .svg, если у вас уже есть большое изображение с высоким разрешением.

Я предполагаю, что вы хотите написать программное обеспечение для этого. Чтобы сделать это наивно, вы просто найдете линии и установите векторы. Чтобы сделать это разумно, вы пытаетесь приспособить фигуры к чертежу (подгонка модели). Кроме того, вы должны попытаться определить растровые области (регионы, которые вы не можете моделировать с помощью shames или применения текстур. Я бы не стал рекомендовать идти по этому маршруту, так как это займет довольно много времени и потребует немного знаний о графике и компьютерном видении. Тем не менее, выход будет значительно и масштабироваться намного лучше, чем ваш исходный результат.

http://online-converting.com/image/convert-to-svg/ отлично работает для преобразования в svg

Этот инструмент работает очень хорошо прямо сейчас.

http://www.mobilefish.com/services/image2svg/image2svg.php

Если вы находитесь в какой-то системе Linux, imagemagick идеально подходит. Т.е.

 convert somefile.png somefile.svg 

Это работает с кучами разных форматов.

Однако для других носителей, таких как видео и аудио (ffmpeg), я знаю, что вы четко указали png на svg; Это все еще связано с медиа.

 ffmpeg -i somefile.mp3 somefile.ogg 

Просто подскажите, хотите ли вы пройти через множество файлов; цикл с использованием основных трюков оболочки.

 for f in *.jpg; do convert $f ${f%jpg}png; done 

Это удаляет jpg и добавляет png, который сообщает конвертировать то, что вы хотите.

  • Преобразование SVG в PNG с использованием C #
  • Инвертировать округленный угол в CSS?
  • Почему я не могу ссылаться на линейный gradleиент SVG, определенный во внешнем файле (сервер рисования)?
  • Открытие * .svg с IE9 вызывает диалог «Открыть, Сохранить как»
  • Цвет фона текста в SVG
  • Как включить шрифт в значок svg?
  • Волна (или форма?) С рамкой на CSS3
  • Рисуем SVG на canvasе HTML5 с поддержкой элемента font
  • Есть ли способ использовать SVG как контент в псевдоэлементе: до или: после
  • Selenium WebDriver : как нажимать на элементы в SVG с помощью XPath
  • семантическое масштабирование диаграммы направленности силы в d3
  • Давайте будем гением компьютера.