ImageMagick: проверьте модуль трассировки PNG в SVG
Узнайте, создает ли ваша команда ImageMagick PNG-to-SVG пути, какой делегат трассировки она использует и почему цветное изображение может стать монохромной трассировкой SVG.
На этой странице
- Начните с симптома, затем осмотрите трубопровод.
- 1. Запишите установленную версию и делегируйте
- Почему другая машина может вести себя иначе
- 2. Сохраните SVG и проверьте, что в нем содержится.
- Каким стал наш цветной PNG в этой инсталляции
- Храните единицы размера отдельно от структуры пути
- Выберите исправление, соответствующее выходным данным.
- Часто задаваемые вопросы
- Источники
ImageMagick может создавать векторные пути SVG из PNG, если его сборка и конфигурация обеспечивают маршрут трассировки. В нашей установленной установке ImageMagick 7.1.2-32 magick color-regions.png traced.svg использовал Potrace 1.16 и создавал черные пути, а не встроенный PNG. Он также потерял исходные цвета и светлую область. Проверьте установленный делегат и сохраненный файл, прежде чем решить, соответствует ли эта команда вашим потребностям.
Если вам нужен онлайн-маршрут трассировки для того же PNG, начните с PerfectVector и проверьте цветовые области и отверстия предварительного просмотра. Для редактирования и экспорта требуется разблокированный результат. Это руководство диагностирует локальный маршрут ImageMagick; он не сравнивает качество вывода инструментов.
Начните с симптома, затем осмотрите трубопровод.
SVG, который успешно открывается, все равно может оказаться непригодным: он может быть монохромным, когда вам нужны цвета, или содержать растровое изображение, когда вам нужны пути. Неудачная команда — это другой симптом, и для него требуется фактическое сообщение об ошибке. Расширение имени файла само по себе не может решить ни один из этих вопросов.
Делегат — это внешняя программа, которую ImageMagick вызывает для выполнения задачи. Его документация по ресурсам описывает настройку делегата. Запишите фактическую конфигурацию вашего компьютера; команда, скопированная из другой установки, может следовать другим маршрутом.
Для этой проверки вам понадобится копия вашего PNG, установленный ImageMagick, терминал, текстовый редактор и программа просмотра SVG. Сохраните исходный код без изменений и дайте каждому результату теста новое имя файла. В нашем примере также был установлен Potrace; это часть тестируемой среды, а не зависимость, которую обязательно разделяет каждая установка ImageMagick.

1. Запишите установленную версию и делегируйте
Запустите эти команды в своем терминале:
magick -version
magick -list delegate
magick -list formatПрочтите список делегатов для записи trace и запомните программу, которую она называет. В нашем списке была такая строка:
pnm<= trace "'potrace' --svg --output '%o' '%i'"Это запись конфигурации, а не команда для вставки в вашу оболочку. В качестве внешней программы трассировки он называет Potrace. SVG, который мы фактически сохранили, также содержал метаданные Created by potrace 1.16, связывающие эту конфигурацию с наблюдаемым выводом.
Список форматов ImageMagick полезен для проверки поддержки формата, но внимательно прочитайте его примечания по рендерингу SVG: информация о вводе/рендеринге Inkscape, RSVG и MSVG не доказывает, какая программа преобразует PNG в SVG. Чтение SVG и написание трассировки — разные направления.
Почему другая машина может вести себя иначе
Средство записи SVG в официальном исходном коде 7.1.2-32 включает отдельные маршруты для скомпилированной поддержки AutoTrace, настроенный делегат TRACE и встроенный резервный вариант PNG, если в этой ветке не найден делегат трассировки. Вот почему ни «ImageMagick всегда отслеживает», ни «ImageMagick встраивает только PNG» не являются надежным и общим ответом.
В источнике описаны доступные ветки; наша фактическая команда устанавливает, какой результат мы получили. Мы не тестировали каждую ветку или машину без делегата. Вышеуказанная версия является нашей установленной тестовой версией, а не претензией на последнюю версию ImageMagick.
2. Сохраните SVG и проверьте, что в нем содержится.
Используйте собственную разрешенную копию PNG. Наша точная тестовая команда была:
magick color-regions.png traced.svgЗамените color-regions.png именем входного файла и используйте новое выходное имя. Если команда не выполнена, сохраните ошибку и проверьте настроенную программу, прежде чем пытаться использовать несвязанные настройки рендеринга. Перечисленный делегат сам по себе не доказывает, что его исполняемый файл доступен и работает.
Откройте сохраненный SVG в текстовом редакторе. Ищите фактические элементы формы, такие как <path>, любой элемент <image> и его ссылочное содержимое, а также заполняйте как отдельные пути, так и родительские группы. Путь может наследовать черную заливку от окружающей группы; цвет не обязательно должен присутствовать на каждой линии пути.
В нашем файле родительская группа предоставила fill="#000000", два элемента пути описывали сохраненные фигуры, и не было элемента изображения. Это настоящая геометрия пути, но это не означает, что исходная палитра или все регионы сохранились. Для смешанного файла или файла на основе изображений используйте Руководство по проверке растрового содержимого SVG, а не гадать только по масштабу.
Каким стал наш цветной PNG в этой инсталляции
Мы создали оригинальный PNG-изображение размером 320 × 240 RGBA, содержащий прямоугольную рамку темно-синего цвета с пустым центром, золотой круг и бирюзовый треугольник на прозрачном фоне. Прозрачные пиксели имели белые образцы RGB. Мы выполнили приведенную выше команду с ImageMagick 7.1.2-32 и установили Potrace 1.16, затем проверили фактический источник SVG и отрисовали его независимо.
| Проверять | Оригинальный PNG | Фактически сохраненный SVG |
|---|---|---|
| Темно-синяя рамка | #17344d | Черная геометрия сохранена |
| Бирюзовый треугольник | #347f78 | Черная геометрия сохранена |
| Золотой круг | #e5aa39 | Отсутствующий |
| Проем рамы и внешнее пространство | Прозрачный | Прозрачный в визуализированном результате |
| Структура файла | Растровые пиксели | Два пути, без элемента изображения |
В руководстве по Potrace объясняется, что недвоичный ввод преобразуется в черно-белый с использованием ограничения яркости. Монохромный маршрут трассировки не переносит исходную палитру в виде отдельных цветных областей. В этом конкретном случае светло-золотой круг исчез, а более темная рамка и треугольник стали черными.
Увеличение входного разрешения или изменение имени файла SVG не может превратить монохромный результат в цветную трассировку. Если цвета имеют значение, выберите рабочий процесс трассировки цвета и проверьте полученные области. Если вам намеренно требуется одноцветное изображение, используйте явный рабочий процесс подготовки и трассировки PNG Potrace для управления этой отдельной задачей.
Это был один оригинальный цветной светильник в одной установленной сборке, поддерживаемый более ранним элементом управления «квадрат с отверстиями». Это была проверка цифрового файла, а не проверка импорта в редакторе, печати или обрезки. Счетчик путей описывает этот вывод; это не показатель качества.
Храните единицы размера отдельно от структуры пути
В нашем сохраненном SVG объявлены width="320.000000pt", height="240.000000pt" и viewBox="0 0 320.000000 240.000000". Соответствие числовых значений не делает точки, исходные пиксели и координаты SVG взаимозаменяемыми. Отдельно проверьте предполагаемый физический размер, используя рабочий процесс устранения неполадок с размером импорта SVG.
Выберите исправление, соответствующее выходным данным.
| Наблюдаемый результат | Следующее действие | Проверка |
|---|---|---|
| Черные пути, но нужны цветные регионы | Выберите рабочий процесс трассировки цвета | Сравните важные регионы и заливки с исходным PNG. |
| Черные пути - это задуманное произведение искусства. | Сохраняйте монохромный маршрут; проверить недостающие детали | Проверьте силуэт и необходимые проемы на контрастном фоне. |
| SVG содержит встроенный PNG вместо нужных вам фигур. | Проверьте установленный маршрут трассировки или используйте специальный векторизатор. | Проверьте объекты замещающего файла и изображения, на которые ссылаются. |
| Ошибка команды, связанная с делегатом | Прочтите ошибку и проверьте доступность и конфигурацию указанной программы. | Повторите тот же небольшой разрешенный ввод после устранения этой конкретной проблемы. |
| Пути существуют, но в другом приложении указан неправильный размер. | Единицы измерения и размеры документа проверяйте отдельно. | Подтвердите предполагаемый размер в принимающем приложении. |
Фактическая ошибка команды и установленная конфигурация должны помочь в ремонте. В этом пошаговом руководстве не воспроизводится среда с отсутствующим исполняемым файлом или ошибкой политики, поэтому оно не предписывает универсального исправления для этих ошибок.
Для цветных изображений, которым все еще требуется SVG, PerfectVector предоставляет онлайн-процесс преобразования PNG в вектор. Начните с исходного PNG и сравните силуэт предварительного просмотра, цветовые области и пустые места. Точные фирменные цвета или мелкие буквы все равно могут нуждаться в проверке и исправлении; если критический контур неясен, следующим шагом может оказаться целенаправленная перерисовка. Руководство по качеству преобразования PNG в SVG описывает исходные и подробные решения.
Вы завершаете диагностику, когда можете назвать тип вывода, определить соответствующий маршрут отслеживания и объяснить, соответствует ли он вашим потребностям в цвете. Храните исходный код, сохраненный SVG и примечания к версии/конфигурации вместе. Чтобы опробовать PNG онлайн, начните с PerfectVector и сравните цветовые области и отверстия предварительного просмотра с оригиналом.
Часто задаваемые вопросы
Может ли ImageMagick конвертировать PNG в настоящие пути SVG?
Да, если установленная сборка и конфигурация обеспечивают трассировку маршрута. Наша установка ImageMagick 7.1.2-32 использовала Potrace 1.16 и сохраняла фактические пути без элемента изображения. Проверяйте свои собственные выходные данные, а не предполагайте, что каждая установка ведет себя одинаково.
Почему мой SVG-файл ImageMagick стал черно-белым?
Настроенный делегат монохромной трассировки может объяснить этот результат. В нашем тесте Potrace создал черные пути из более темных областей и исключил светло-золотой круг. Прежде чем выбирать вариант трассировки цвета, проверьте список делегатов и сохраненные заливки.
Гарантирует ли запись SVG в списке форматов трассировку цвета?
Нет. Поддержка формата сама по себе не идентифицирует реализацию трассировки вывода и не доказывает, что она сохраняет вашу палитру. Прочтите установленную конфигурацию делегата и проверьте сохраненный SVG.
Следует ли мне изменить настройки RSVG или MSVG, чтобы восстановить цвета PNG?
Сначала определите маршрут отслеживания выходных данных. Настройки рендеринга SVG и программа, отслеживающая PNG, отвечают на разные вопросы. Наш монохромный результат был получен делегатом трассировки Potrace, поэтому следующим решением было, подходит ли монохромная трассировка для произведения искусства.
Источники
- Ресурсы ImageMagick — файлы конфигурации и внешние делегаты.
- Форматы изображений ImageMagick — списки установленных форматов и примечания к рендерингу SVG.
- ImageMagick 7.1.2-32 Средство записи SVG — трассировка с привязкой к версии и ветки встроенных изображений.
- Руководство по Potrace — интерпретация монохромного ввода и поведение трассировки.
Ещё из блога
Пакетная конвертация PNG2SVG: проверьте скачанный ZIP
Выполните преобразование двух файлов PNG2SVG, загрузите SVG ZIP и проверьте имена файлов и фактическое содержимое пути, прежде чем доверять более крупной партии своих собственных изображений.
Vectorization Org: проверка чёрно-белой трассировки
Vectorization.org превращает изображения в черно-белые векторы. Выполните реальный переход из PNG в SVG и проверьте потерянные цвета, мелкие детали и сохраненную геометрию перед использованием.


