Фигуры против пикселей
PNG хранит сетку пикселей. Увеличьте его, и программа начнёт угадывать, что находится между ними, отчего размывается каждый край. SVG хранит инструкции: нарисовать квадрат здесь, такого размера, такого цвета. Запросите его в 2 см или в 2 м, и он отрисуется чисто в обоих случаях.
Почему для QR-кода это важнее, чем для фотографии
Сканер читает QR-код, снимая отсчёты по сетке и решая, светлая ячейка или тёмная. Размытые края сдвигают цвет ячеек к среднему серому, а именно на значениях, близких к среднему, декодирование начинает сбоить. Слегка размытая фотография всё ещё похожа на эту фотографию. Слегка размытый QR-код перестаёт быть QR-кодом.
Для плотных символов всё ещё хуже. Длинные данные, например запись vCard или URL с параметрами, требуют больше модулей в том же физическом квадрате, поэтому каждый модуль меньше, и каждый размытый край занимает большую его долю.
Выбор по назначению
| Где размещается код | Формат | Почему |
|---|---|---|
| Визитка, флаер, упаковка | SVG | Типография масштабирует его под макет без потерь |
| Плакат, наклейка на витрину, вывеска | SVG | Именно на больших размерах PNG разваливается |
| Файл макета в векторном редакторе | SVG | Редактируемые фигуры, можно перекрасить, без передискретизации |
| Подпись в письме | PNG | Почтовые клиенты обрабатывают растровые изображения гораздо предсказуемее |
| Презентация или скриншот | PNG | Фиксированный размер показа, масштабирование не нужно |
| Поле загрузки в чужой CMS | PNG | Некоторые системы принципиально не принимают загрузку SVG |
Работа с SVG
- Вставляйте сам файл, а не его скриншот Импортируйте файл в программу вёрстки. Копирование картинки предпросмотра выбрасывает векторные данные и снова оставляет вас с пикселями.
- Перекрашивайте осторожно Цвет модулей меняет любой векторный редактор. Держите тёмные модули на светлом фоне. Инвертированные коды и малоконтрастные пастельные пары не читаются реальными сканерами.
- Не растягивайте по одной оси Масштабируйте обе стороны вместе. Растянутый код представляет собой сломанную сетку, а геометрию не чинит никакая коррекция ошибок.
- Сохраните свободную зону Пустое поле по краям принадлежит символу. Обрезка вплотную к модулям является самым частым способом добиться того, что красивый макет перестаёт сканироваться.
Если PNG всё-таки нужен
Экспортируйте в том размере в пикселях, который нужен итоговому макету, или больше, и никогда не увеличивайте его потом. Уменьшать обычно безопасно. Размытие появляется именно от увеличения.
Не прогоняйте PNG через сжатие с потерями. Артефакты JPEG скапливаются вокруг резких чёрно-белых краёв, а в QR-коде это каждый край. Если файл нужен меньше, наш инструмент сжатия фото перекодирует PNG без потерь и отбрасывает результат, если он на деле не меньше.
Проверка, которая выполняется для обоих
Vaultaire собирает PNG и SVG из одних и тех же данных, затем декодирует каждый готовый файл заново отдельным ридером. Скачивание разблокируется только после того, как декодированный текст совпадёт с тем, что вы проверили. Это позволяет выявить испорченную отрисовку до того, как она уйдёт в тираж. Но это не покажет, сохранил ли итоговый макет свободную зону, поэтому отсканируйте пробный оттиск сами.
Вопросы об SVG и PNG
SVG или PNG?
SVG для всего печатного или масштабируемого: плакатов, упаковки, карточек, вывесок, файлов макетов. PNG для фиксированного места на экране, например для подписи в письме или слайда.
У QR-кода в SVG качество выше?
Разрешения у него нет вообще. Он описывает модули как фигуры и отрисовывается в любом запрошенном размере. У PNG фиксированная пиксельная сетка, и за её пределами он размывается.
Можно ли изменить цвет?
Да, в любом векторном редакторе, и файл остаётся чётким. Держите модули тёмными на светлом фоне. Инвертированные или малоконтрастные коды не читаются некоторыми сканерами независимо от формата.
Почему напечатанный код выглядит размытым?
PNG увеличили сверх его пиксельной сетки, и принтер додумал детали на краях модулей. Печатайте SVG или экспортируйте PNG точно в том размере, который нужен макету.
Принимают ли типографии SVG?
Большинство принимают, и его импортирует любая программа вёрстки. Если типографии нужен PDF или EPS, поместите SVG в дизайн-программу и экспортируйте оттуда. Фигуры сохраняются.
Можно ли потом конвертировать PNG в SVG?
Трассировка растрового кода обратно в вектор пытается угадать края, которые уже были размытыми. Вместо этого сгенерируйте SVG из исходных данных. Это занимает секунду, и геометрия получается точной.