Русский

Как сделать QR-код, который действительно сканируется

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

QR-код — это изображение данных, и в некоторых отношениях он хрупкий.

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

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

Исправление ошибки: страховка, а не свободное место

QR-коды содержат избыточные данные, поэтому они все равно декодируются, даже если часть изображения повреждена. Существует четыре уровня: L восстанавливает около 7% символа, M около 15%, Q около 25% и H около 30%.

Компромисс — размер. Более высокая избыточность означает больше модулей для одного и того же содержимого, а большее количество модулей означает, что каждый из них физически меньше при заданном размере печати, что может усложнить сканирование, а не облегчить его. Повышение уровня не становится автоматически безопаснее.

  1. На экране или на чистой бумаге, которая останется ровной: L или M вполне достаточно.
  2. На что-то, что будут трогать, складывать или брызгать — меню, карту лояльности, посылку: Вопрос.
  3. Если вы намерены разместить логотип в центре или поверхность действительно враждебна: H.
  4. Если код становится очень плотным на высоком уровне, сократите содержимое вместо дальнейшего повышения уровня.

Тихая зона — часть кодекса

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

Это наиболее часто игнорируемое требование при разработке QR-кодов. Код, упирающийся в рамку, фотография или блок текста теряют зону молчания и могут вообще перестать работать — и сбой выглядит случайным, поскольку зависит от того, что уловит камера.

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

Контраст решает больше, чем цвет

Сканеры бинаризируют изображение, поэтому важна разница в светлоте кода и его фона, а не то, кажутся ли вам цвета приятными. Два цвета могут быть явно различимы для глаза и почти идентичны после преобразования в оттенки серого.

Черное на белом дает коэффициент контрастности 21:1. Стремитесь как минимум к 7:1; Коды 4:1, приведенные ниже, начинают давать сбой на бумаге и при плохом освещении, и этот инструмент предупредит вас. Рисунок живого контраста рядом с изображением предварительного просмотра обновляется по мере изменения цвета.

Пусть код будет темнее фона. Многие сканеры ищут только «темное на светлом», а инвертированный код — светлые модули на темном поле — это подбрасывание монеты между устройствами. Если вам нужен код на темном дизайне, поместите его внутри светлой панели.

Избегайте градиентов в коде и будьте осторожны с прозрачным фоном: все, что находится за ним, должно удовлетворять тем же требованиям контрастности.

Подберите размер в соответствии с расстоянием сканирования.

Широко используемое эмпирическое правило заключается в том, что ширина кода должна составлять примерно десятую часть расстояния, с которого он будет сканироваться. Код, читаемый на расстоянии вытянутой руки — скажем, 30 см — должен иметь ширину около 3 см. Плакат, отсканированный с трех метров, требует около 30 см.

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

Выберите правильный формат вывода

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

Экспортировать PNG для экранов, документов и любого другого растрового изображения проще. Выберите большой размер пикселя: этот инструмент округляет размер модуля до целого числа пикселей, чтобы каждый модуль был идентичен, что позволяет избежать неравномерности модулей, которые появляются при дробном масштабировании кода.

Никогда не масштабируйте QR-код PNG после экспорта. Вместо этого повторно экспортируйте его в большем размере — интерполяция размывает края модуля, а это именно то, что сканеру нужно, чтобы он был четким.

Тестируйте, прежде чем совершать

Распечатайте его в реальном размере, на реальном материале и отсканируйте его с помощью нескольких телефонов — в идеале, старого Android, а также нового iPhone, при свете, при котором код действительно будет жить. Код, который работает на вашем столе под лампой, может потерпеть неудачу на столе у ​​окна.

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

Часто задаваемые вопросы

Могу ли я разместить свой логотип посередине?
Часто да, если вы используете высокий уровень исправления ошибок и держите логотип примерно на 20% площади, вдали от трех угловых шаблонов поиска. Этот инструмент не накладывает логотипы, поскольку для безопасной работы требуется визуальная проверка, которую можете выполнить только вы. Экспортируйте SVG, поместите свой логотип в инструмент дизайна и проверьте результат.
Почему мой код перестал работать после того, как его использовал дизайнер?
Обычно тихая зона обрезалась, код уменьшался до уровня, когда модули стали достаточно большими, или перекрашивался во что-то со слишком низким контрастом. Предоставьте им SVG и требования к марже в четыре модуля в письменной форме.
Усложняет ли более длинная ссылка код для сканирования?
Да. Больше контента означает больше модулей, поэтому при фиксированном физическом размере каждый модуль становится меньше. Используйте самый короткий адрес, который работает, но учтите, что этот инструмент намеренно не сокращает ссылки за вас, потому что это поставит третью сторону между вашим кодом и местом назначения.
Какой уровень исправления ошибок следует использовать по умолчанию?
M является разумным значением по умолчанию для большинства применений. Перейдите к Q для всего, что было обработано или напечатано небольшими, и к H только тогда, когда вы закрываете часть кода или поверхность действительно шероховатая.

Чего этот инструмент не сделает