Конвертировать изображение (JPG, BMP, GIF) в SVG - PullRequest
3 голосов
/ 18 июня 2010

Всем известен инструмент, который действительно работает (я пробовал несколько, но ни один не работает), с поддержкой цветных изображений.Если кто-то знает, как реализовать это, или любой компонент, который делает (C #), я был бы признателен.

Спасибо за любую помощь


Программа ниже работает, однако оставляет всефайлы в черно-белом режиме.

Всего векторизации

Ответы [ 8 ]

4 голосов
/ 18 июня 2010

Этот процесс известен как векторизация.Это процесс преобразования растрового изображения в векторное изображение.Есть много инструментов, в том числе бесплатных, которые могут сделать это, например http://inkscape.org/

Но результат такой обработки далек от совершенства.

Надеюсь, это поможет.Возможно, я неправильно понял ваш ответ, и вам нужно программно преобразовать растровое изображение в векторное изображение, или вы спрашиваете, как встроить растровое изображение в изображение SVG.

3 голосов
/ 18 июня 2010

Преобразование растровой графики в векторную графику (например, PNG в SVG) - это определенно нетривиальная задача, не имеющая прямого решения. Делать это наоборот - от вектора к растровой графике - это, конечно, простой процесс рендеринга, и именно так обычно и поступают, если вам нужны оба формата.

По своей сути такое преобразование требует сложных и подверженных ошибкам алгоритмов, которые анализируют шаблоны в изображениях. Более сложные изображения просто невозможно будет разложить на векторную графику. Техническое объяснение основано на том факте, что информационная энтропия для растровых представлений гарантированно выше, чем для векторных представлений, что означает, что всегда существует неопределенность в обращении четко определенного процесса рендеринга векторной графики.

Лучшая программа, широко доступная для вашей задачи, вероятно, будет Vector Magic (условно-бесплатная). Если это не поможет вам, вряд ли что-то изменится, хотя, конечно, вам, вероятно, потребуется много настроек для достижения хороших результатов.

1 голос
/ 18 августа 2013

Один из лучших векторизаторов с открытым исходным кодом - potrace.Он поставляется как автономный инструмент для командной строки .Или, если вы предпочитаете графический интерфейс, он входит в состав Inkscape .Оба доступны для нескольких ОС.

1 голос
/ 11 февраля 2011

Open Clip Art

Эта ссылка включает в себя инструменты, веб-библиотеки и другие дразнящие биты.

Enjoy

1 голос
/ 19 июня 2010

SVG является масштабируемой векторной графикой, которая фактически означает рисование линий. Формат не подходит для отображения изображения, которое по сути является матрицей пикселей. Линии могут быть легко преобразованы в пиксели, но отображение пикселей в виде линий (или точек) крайне неэффективно и на самом деле не масштабируется . Альтернатива попытки обнаружить линий в пикселированном изображении чревата опасностью.

Если вам нужно просто восстановить немасштабируемое изображение в формате SVG, вы можете найти инструмент для этого. Но так как масштабирование - это то, что SVG составляет для , я хотел убедиться, что вы поняли, почему у вас могут возникнуть трудности.

0 голосов
/ 13 сентября 2016

Я обнаружил, что веб-сайт PicSvg работает довольно хорошо (для бесплатного инструмента) на простых растровых изображениях.

[(Не) Отказ от ответственности: я никоим образом не связан с ними, просто нашел его, когда мне понадобился быстрый инструмент для идеи проекта, над которым я работал ..]

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

У меня есть проприетарная программа векторного рисования, которая сохраняет растровые изображения, JPEG, GIF и Png в формате SVG. Это выходной текстовый файл SVG для определенного точечного рисунка.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg width="1024px" height="768px" version="1.1"
      xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink= "http://www.w3.org/1999/xlink">
      <image xlink:href="C:\RedWind\Bitmaps\PrayerChild.bmp" 
                         x="20" y="20" width="384" height="428"/>
    </svg>

SVG-файлы - это чисто текстовые файлы. Вы можете создать их с помощью блокнота Windows, MS Word или любого другого создателя текстовых файлов. Вы можете скопировать этот текст, поместить его в блокнот, сохранить в файл с расширением «.SVG», а затем скопировать имя файла, например «c: \ bitmaps \ MyBitmap.SVG», и вставить его в область навигации вашего браузера и он создаст файл SVG в браузере. Обязательно укажите местоположение своего растрового изображения вместо «C: \ RedWind \ Bitmaps \ PrayerChild.bmp». Также подставьте данные о расположении и ширине / высоте вашего растрового изображения в значениях x, y, width, height. Надеюсь, это поможет.

0 голосов
/ 20 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...