как растеризовать SVG без сглаживания

21

Я сделал карту в Inkscape, и теперь нужно изменить ее на растровое изображение или .png. Карта будет интерпретироваться компьютерной программой, которая будет искать точные цвета, поэтому края должны быть четкими. когда я экспортирую .png с помощью inkscape, использую онлайн-конвертер файлов или даже делаю снимок экрана, он всегда сглаживается. Помогите.введите описание изображения здесь

введите описание изображения здесь

Уильям У
источник
Хм ... не похоже, что Inkscape предлагает псевдоним при экспорте в растр. Вы можете попробовать открыть SVG в растровом приложении (например, PS) и посмотреть, предлагает ли оно вам опцию псевдонима.
DA01
у меня нет фотошопа 7.0, чтобы иметь возможность открывать SVG. У меня нет других программ, которые могут это сделать. если есть какие-либо бесплатные программы, которые могут работать, мне интересно, что они собой представляют.
Уильям W
Что касается растровых приложений, GIMP с открытым исходным кодом. Paint.net является бесплатным. Не уверен, что поддерживает ли открытие SVG, хотя.
DA01
Похоже , что может быть способ сделать это в браузере: stackoverflow.com/questions/16889078/...
DA01
Да, и, наконец ... Одним из возможных решений может быть снимок экрана, его вставка в PhotoShop, а затем использование фильтра / инструмента «Постеризация» в PhotoShop, чтобы уменьшить цветовой палитру до тех цветов, которые вы хотите использовать.
DA01

Ответы:

17

Разрабатываемая версия Inkscape (готовящаяся к выпуску версия 0.91) имеет глобальный переключатель сглаживания в окне «Свойства документа», который также должен работать для экспорта. Ищите «Версии разработки» на странице загрузки:

http://www.inkscape.org/en/download/

Кшиштоф Косински
источник
спасибо, ты знаешь как долго, пока оно не выйдет? Я не видел этого на сайте.
Уильям W
Текущая фаза "Мороз". Вы можете увидеть прогресс в выпуске здесь: inkscape.org/en/develop/next-release. Я думаю, что он должен быть выпущен в течение следующих 5 месяцев.
Кшиштоф Косински
Вау. Они прыгают с .48 до .91! Конечно, это меньше, чем «половина версии», но все же огромное обновление в мире Inkscape. Версия 1.0 вот и мы!
DA01
5
К сожалению, это не влияет на экспорт ...
Рэй
Также не работал для меня при экспорте в формате PNG.
тестирование
12

Одним из простых решений является экспорт в PDF, а затем использование Ghostcript в полученном PDF. Использование изображения клубники из Openclipart и команды

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m \
   -r72 -dGraphicsAlphaBits=1 \
   -sOutputFile=image.png image.pdf 

Я получаю следующий результат.

Не сглаженное изображение клубники. Увеличенное изображение не сглаженного клубники.

Если ваше изображение также включает в себя текст, вам нужно добавить -dTextAlphaBits=1тоже. Измените значение -r72на другое, чтобы изменить масштаб изображения.

Карл Ове Хуфтхаммер
источник
2
Это конечно окольный способ сделать это, но, черт возьми, если это не сработало.
обскир
11

Inkscape 0.91 и выше имеет возможность переключения сглаживания. Доступ к нему можно получить через окно свойств документа (Shift + Ctrl + D). При включении, которое является значением по умолчанию, это изображение массива треугольников выглядит следующим образом.

введите описание изображения здесь

При выключении изображение выглядит более плавным.

введите описание изображения здесь

Как уже упоминалось, это в настоящее время не влияет на экспорт PNG. Сглаживание все еще включено, и промежутки между треугольниками все еще видны.

Что делает Inkscape при отключении сглаживания - это добавление shape-rendering="crispEdges"в файл. Откройте свой SVG в текстовом редакторе и посмотрите где-нибудь вокруг строки 19, и вы должны увидеть это.

введите описание изображения здесь

К счастью, этот тег читается и соблюдается при импорте SVG в GIMP. GIMP может импортировать SVG и установить разрешение импорта, что означает, что вы можете масштабировать png при импорте до желаемого размера. Это обрезает его до границ страницы.

введите описание изображения здесь

Теперь вы можете сохранить изображение, и сглаживание будет отключено.

введите описание изображения здесь

Это было сообщено как ошибка пару раз:

hellocatfood
источник
1
Идеальное объяснение! Для иллюстрации диагональная или круглая форма сделала бы эффект намного более заметным.
Макс. N
Я обнаружил, что загрузка в GIMP не работает, если я не выследил каждый экземпляр shape-rendering:autoSVG и не преобразовал его в crispEdges. Оказывается, многие пути (может быть, все) имели :autoспецификацию в своем стиле.
Мутант Боб
2

Вы также можете использовать shape-renderingсвойство SVG, чтобы сделать края четкими.

В SVG XML это выглядит так:

<svg:something shape-rendering="crispEdges" ... />

В пользовательском интерфейсе Inkscape вы можете установить это вручную, используя редактор XML ( Ctrl+ Shift+ X), как показано на этом снимке экрана:

Inkscape XML Editor

Выберите узел, к которому должно применяться свойство. Здесь я применяю это к группе путей. Свойство отображается справа. Чтобы добавить его, скопируйте текст, который вы видите в правом нижнем углу, а затем нажмите Set.

Дрю Ноакс
источник