Оформление qr кода. Месяц с генератором красивых QR-кодов. Создать цветной QR-код

Автоматизация бизнеса 20.06.2020
Автоматизация бизнеса

«Кто чувствует собственную привлекательность, тот и становится привлекательным» - Иоганн Вольфганг Гёте

Для тех кому не терпится попробовать сделать цветной QR-код или сделать QR-код с логотипом или фоновой картинкой:

Каких результатов можно добиться, изменив оформление кода?

  1. Стать заметным . Выделиться на фоне однотипных QR-кодов – сделать работу кода более эффективной. К примеру, вы можете развернуть код(он прочитается), сделать его цветным, закруглить уголки, добавить тень и т.д.
  2. Дать подсказку . Добавив в сам код или рядом с ним немного текста, который сможет прочесть человеческий глаз, еще до того, как воспользуется камерой мобильного телефона. Сейчас QR-код только активно начинает захватывать рынки и потребители своими смартфонами сканируют все вподряд. Добавить немного текста хорошо, за исключением самых очевидных случаев. Если в QR-коде зашифрован адрес сайта, то можно его расположить под кодом или прямо на нем (тут осторожней).
  3. Акцентировать внимание на бренде . Т.к. QR-коды очень привлекательный элемент в рекламе, то естественно, если гармонично вписать его в фирменный стиль организации можно подкрепить и усилить силу бренда в сознании потребителей. К примеру, раскрасить в фирменные цвета, внедрить логотип в код, оформить сегменты продукцией (смотрите далее очень интересный код из продукции Panasonic).

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


Усложняя алгоритм раскрашивания QR-кода мы приходим от линейных цветной заливки к градиентной заливки. Если вдруг вам еще не знаком термин “градиент”, то это плавный переход от одного цвета к другому. Другими словами градиентом может быть плавный переход от черного цвета к синему. Градиенты бывают линейными, радиальными, ромбовидными и других причудливых форм. Иногда правильным градиентом удается значительно улучшить визуальное восприятие QR-кода по сравнению с линейной цветной заливкой.


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


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


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


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


Имея QR-код с повышенной помехозащищенностью мы можем встраивать в него любые изображения не перекрывающие код более чем на 30%. Часто такая изюминка в виде маленьких картинок на коде сильно меняют восприятие такого кода и повышают интерес к нему. Как правило, автоматическое встраивание таких изображений бывает невозможным, т.к. форма картинки может сильно зависеть от полученной конфигурации кода. Поэтому такого рода трансформации кода производятся дизайнерами в графических программных пакетах уже после того как код был создан генератором.


Очень простым, но действенным ухищрением может стать поворот QR-кода вокруг своей оси на 45 градусов. А имея красивое визуальное окружение можно сделать подобный код просто неотразимым для пользователей.

Анимированный QR-код

И апофеозом трансформации QR-кодов можно считать анимированные коды. Опять же благодаря технологии защиты от сбоев открываются большие возможности. Т.е. QR-код можно смотреть как видео-ролик при этом он не теряет способность быть считанным и расшифрованным. Не смотря на значительны расходы связанные с созданием подобного кода часто он бывает оправдан. Единственное ограничение такого рода кодов, что их нельзя распечатать. Т.е. сфера их применения это телевидение и интернет. Возможно в будущем видео на листе бумаги будет таким же обычным явлением как сейчас на телеэкране.

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

Предисловие
QR-коды можно встретить везде, но как их отличить друг от друга? QR-коды всё время завоёвывают популярность, и нет-нет, да и встретятся несколько штук рядом. Зрелище это не из приятных - какой сканировать первым? И вообще, зачем сканировать то, от чего начинает рябить в глазах?
Решением такой задачи может служить персонализирование QR-кода: нестандартные цвета, логотип, или пояснительная надпись немного ниже самого кода, по которой можно понять - интересно ли зрителю это или нет.
Навеняка многие видели красивые QR-коды (а кто не видел, может посмотреть на хабре или на стороннем ресурсе), но мне стоит оговориться - чтобы создать такой, нужно вложить либо большие ресурсы в алгоритм генерации картинки, либо нарисовать такой код в фотошопе, но это будет единичный экземпляр, и для большинства из нас он не годится (если, конечно, есть вообще необходимость генерировать их самому).
Как это реализовано?
Создатели QR-кодов не расчитывали, что мы будем вставлять свои картинки в закодированные сообщения, коими являются сами коды, но они предусмотрели возможность высокого объёма восстановительной информации - код может содержать до 30% последней. Чем её больше - тем гуще картинка, но больше шансов, что пользователь раскодирует испорченный код. А портить мы его будем логотипом.
Для генерации кода использовалась библиотека ZXing - это open source библиотека для обработки различных 1D/2D штрихкодов, которая, кроме Java, имеет порты на другие языки.
Особенностью этой библиотеки является то, что она разбита на модули и распространяется в исходных кодах, которые необходимо компилировать. Но, к счастью, она есть в мавен репозитории - модуль core использовался для генерации, и модуль java se использовался для валидации кодов.
Для работы с графикой были использованы стандартные классы из пакета java.awt (JavaSE).
За дело!
Для экспериментов была сделана небольшаю консольная программа, которую можно найти на гитхабе - репозиторий опытного образца , которую я и разберу в этом разделе.

Тот, кому просто нужен QR-код, может написать следующее:
BitMatrix matrix = new MultiFormatWriter().encode("text to encode", BarcodeFormat.QR_CODE, width, height); MatrixToImageWriter.writeToFile(matrix, filename.substring(filename.lastIndexOf(".")+1), new File(filename));
В противном случае так делать не стоит - по умолчанию библиотека добавит мало восстановительной информации, и даже если после вставки логотипа картинка расшифруется у нас на компьютере, то с фотокамеры она уже может считаться неправильно. По-этому будет хорошим тоном добавить максимум восстановительной информации, а раз мы будем изменять цвета и картинку, то не нужно спешить сохранять результат:
Hashtable hintMap = new Hashtable(); hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); QRCodeWriter qrCodeWriter = new QRCodeWriter(); BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, qrCodeSize, qrCodeSize, hintMap);
Создание картинки из матрицы кода делается в цикле - создаём картинку соответствующего размера и, проходя матрицу кода, отображаем наличие бита в матрице на картинку как информативный пиксель. Во время этого действа можно задать цвет фона и цвет кода:
int matrixWidth = bitMatrix.getWidth(); BufferedImage image = new BufferedImage(matrixWidth, matrixWidth, BufferedImage.TYPE_INT_RGB); image.createGraphics(); Graphics2D graphics = (Graphics2D) image.getGraphics(); graphics.setColor(Color.white); graphics.fillRect(0, 0, matrixWidth, matrixWidth); Color mainColor = new Color(51, 102, 153); graphics.setColor(mainColor); //Write Bit Matrix as image for (int i = 0; i < matrixWidth; i++) { for (int j = 0; j < matrixWidth; j++) { if (bitMatrix.get(i, j)) { graphics.fillRect(i, j, 1, 1); } } }
Ну вот, теперь, когда мы оперируем картинкой, а не матрицей единиц и нулей, нам очень даже удобно и логотип в центр поместить, предварительно поправив его разрешение, чтобы не перекрывать весь код в случае слишком большого размера:
BufferedImage logo = ImageIO.read(this.getLogoFile()); double scale = calcScaleRate(image, logo); logo = getScaledImage(logo, (int)(logo.getWidth() * scale), (int)(logo.getHeight() * scale)); graphics.drawImage(logo, image.getWidth()/2 - logo.getWidth()/2, image.getHeight()/2 - logo.getHeight()/2, image.getWidth()/2 + logo.getWidth()/2, image.getHeight()/2 + logo.getHeight()/2, 0, 0, logo.getWidth(), logo.getHeight(), null); private BufferedImage getScaledImage(BufferedImage image, int width, int height) throws IOException { int imageWidth = image.getWidth(); int imageHeight = image.getHeight(); double scaleX = (double)width/imageWidth; double scaleY = (double)height/imageHeight; AffineTransform scaleTransform = AffineTransform.getScaleInstance(scaleX, scaleY); AffineTransformOp bilinearScaleOp = new AffineTransformOp(scaleTransform, AffineTransformOp.TYPE_BILINEAR); return bilinearScaleOp.filter(image, new BufferedImage(width, height, image.getType())); }
После нашего надругательства над кодом, обязательно стоит его проверить на правильность - хватит ли восстановительной информации для идеальной фотокамеры? И если хватит, то пора сохранить катинку и отдать её пользователю:
if (isQRCodeCorrect(content, image)) { ImageIO.write(image, imageFormat, this.getGeneratedFileStream()); } private boolean isQRCodeCorrect(String content, BufferedImage image){ boolean result = false; Result qrResult = decode(image); if (qrResult != null && content != null && content.equals(qrResult.getText())){ result = true; } return result; } private Result decode(BufferedImage image){ if (image == null) { return null; } try { LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result result = new MultiFormatReader().decode(bitmap, Collections.EMPTY_MAP); return result; } catch (NotFoundException nfe) { return null; } }

Поставленная цель достигнута - QR код сгенерирован. Спасибо за внимание!

В 1994 году инженерами компании «Denso-Wave », которая в Японии выступает лидером инновационных разработок для автомобилей, был представлен миру двумерный штрих код, основным названием которого сейчас является сокращение от словосочетания quick response – QR-код , что означает «быстрый отклик «:

Создать QR-код – это решение, которое стало результатом потребности рынка в кодах, которые бы могли обеспечить хранение большего объема информации и, одновременно с этим, использовать меньше места при печати. Именно эти требования не мог обеспечить ранее широко используемый штрих код. Ниже приведены основные преимущества QR-кода :

  • Количество информации. QR-код хранит информацию, записанную в двух направлениях: в горизонтальном и вертикальном. Такое расположение дает возможность сохранить данных в сотни раз больше (4269 символов ), чем в обычном штрих коде:
  • «Реставрация » QR-кода – возможность восстановления информации, если поврежденный участок составляет не более 30% от общей площади кода;
  • Легкость в распознавании. Двумерный штрих код можно сканировать с помощью смартфона, а его предшественник требовал использования специального сканирующего устройства.

Что закодировано в QR-коде?

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

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

  • Производство и продажа товаров (кодировка различной информации о товарах );
  • Развлечения. В кино, музеях и театрах QR-код заменяет всем привычные бумажные билеты;
  • Туризм. В двумерных штрих кодах записана информация о достопримечательностях;
  • Уход за пожилыми. Для оказания помощи старику, в его бейдже присутствует вся информация о владельце в закодированном виде, которую легко считать при помощи смартфона.

Как считать информацию QR-кода?

Для сканирования двумерного штрих кода нужен гаджет с камерой. Это может быть смартфон, ноутбук или планшет. На любое из данных устройств необходимо установить сканирующую программу, которая находится в свободном доступе в интернете. После установки, нужно активировать приложение, затем направить камеру на QR-код .

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

Как создать QR-код?

Проще всего создать QR-код онлайн. Это ни для кого не составит труда, нужно лишь корректно сформулировать текст для кодирования, длина которого не должна превышать 150 знаков.

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

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

Создание QR-кода из текста

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

Создание QR-кода для визитки

Процесс создания QR-кода для визитки также прост. Необходимо выполнить следующие действия:

  • Выбрать тип кода: в разделе «Информационные » выбрать пункт «Контакт vCard ». После этого появятся поля визитки, которые необходимо заполнить:
  • После заполнения можно сгенерировать код, кликнув на соответствующую кнопку, как было описано выше. Также можно настроить размер, формат и скачать двумерный штрих код:

Создание QR – кода с логотипом

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

После генерации, creambee.ru дает возможность оригинально оформить полученное изображение кода. Пример разработки логотипа будет описан на ранее созданном QR-коде визитки:

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

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

Но одна из самых частых причин, почему QR получают маленькое количество сканов, — это недостаточный контраст между цветами переднего и заднего плана.

Почему контраст так важен при генерировании QR кодов?

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

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

Какой должен быть контраст?

Тональный контраст и оттеночный контраст

Чаще всего стандартные QR коды создаются черно-белыми (тональный контраст) и именно под сканирование таких qr разрабатываются мобильные приложения. Данные ридеры не способны различать оттенки цветов, они «видят» исключительно разницу двух противоположных цветов. В таком случае не прогадаешь, потому что черный и белый – контрастные цвета.

Если же вы генерируете цветной QR код (оттеночный контраст), то крайне важно учесть, чтобы разница в цветах была достаточно большой (например, красный и зеленый, красный и черный, красный и синий, желтый и синий), для того чтобы ридер смог «увидеть» два оттенка. Те цвета, которые видит глаз человека, диаметрально отличаются от восприятия цветов мобильным устройством. Поэтому обратите внимание на яркость одного из выбранных вами оттенков. Если два цвета будут похожи (оранжевый и желтый), в них не будет достаточно контраста, тогда ридер не сможет определить зашифрованную информацию.

Когда тонального контраста будет достаточно?

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

  • Окружающий свет (даже черно-белые изображения могут быть не отсканированы при темном освещении).
  • Поверхность отражения (блестящая поверхность будет отражать белый цвет, не стоит выбирать белый фон, если вы хотите для переднего плана выбрать блестящие оттенки).
  • Расстояние сканирования (чем дальше расположен QR, чем меньше он виден камере, тем более выраженное контрастное различие должно быть между передним и задним планом).
  • Качество камеры (некоторые камеры имеют особые тональные диапазоны).

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

Традиционные черно-белые коды имеют наибольшую вероятность распознавания при условиях, если тональный контраст 100% (белый – 0%, черный – 100%).

Как быть с перевернутыми кодами?

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

Контраст для генерирования цветных кодов

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

Для того чтобы цветной QR код был действительно эффективным, важно, чтобы его мог отсканировать любой ридер. Поэтому при генерации стоит обращать особое внимание на контраст цветов. Потому что контраст – это один из ключевых параметров, который влияет на «читабельность».

*Обязательно учитывайте параметр контраста при создании дизайнерских и брендированных QR кодов.

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

Для распознавания QR-кодов используются камера мобильного телефона и специальное программное обеспечение, например, QR Droid Code Scanner , QuickMark и т. д.

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

С их помощью можно закодировать описание объекта или привести к источнику, где эти сведения хранятся.

Существуют статические и динамические QR-коды:

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

Для создания QR-кода используются генераторы - программы и интернет-сервисы . С пятью популярными онлайн генераторами QR-кодов мы и познакомим вас далее.

Visualead

Возможностей упражняться в искусстве дизайна QR Coder не предусматривает. Главный «конек» этого сервиса - скорость и простота. Но кому-то это может показаться и недостатком.

Creambee

Creambee - еще один русскоязычный многофункциональный генератор QR-кодов для коммерческого и некоммерческого использования.

Позволяет кодировать различную информацию как в статическом, так и в динамическом формате. В том числе:

  • картинки;
  • визитки;
  • сообщения для социальных сетей;
  • ссылки на сайты;

На сайте есть множество примеров использования интерактивных QR-кодов в разных областях бизнеса.

Обратите внимание! Кроме генерации, зарегистрированный пользователь может бесплатно хранить свои QR-коды в личной папке, создавать мобильные сайты, карточки товаров, книги отзывов, купоны. Бизнес-аккаунты дополнительно получают инструменты анализа: статистику переходов по коду, сведения об индексировании поисковыми системами, панель реселлера, возможность подключить сервис «Яндекс.Метрика» и многое другое.

Каждому пользователю Creambee доступен графический редактор с большими возможностями. Также здесь можно платно заказать персональный дизайн QR-кода.

QRCC

Сервис QRCC отличается от рассмотренных выше тем, что кроме обычных, позволяет создавать Micro QR-коды (уменьшенные версии обычного двухмерного кода) и Datamatrix (сверхминиатюрные коды для маркировки мелких предметов).

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

Все QR-коды создаются только в статическом формате со стандартной информацией внутри: текст, телефон, SMS, email, координаты Google Maps, URL и тому подобное.

Однако здесь есть и еще одна необычная функция - после генерации кода вы можете сразу заказать с ним какой-нибудь сувенир.

Всё, как говорится, «не отходя от кассы».

Как создать QR код

QR код - это двумерное изображение. Основное достоинство QR кода - распознавание специальной сканирующей программой, установленной на смартфон или планшет под управлением, например, Андроид

Рекомендуем почитать

Наверх