мы получаем распознанный код.
Тут есть одна особенность, result = scanner.scanImage(codeImage)
иногда возвращет корректный результат, даже когда нет никакого QR-кода перед камерой. То есть, камера иногда распознает что то даже в обычной размытой картинке. Поэтому рекомендую ввести дополнительную проверку на размер прочитанного кода или на соответствие ожидаемому формату.
Генерируем QR-коды
В этом случае уже будут задействованы ресурсы библиотеки ZXing
. Входные парамеры
Лучшее приложение для сканирования QR — кодов и штрих — кодов для Android
encodeAsBitmap
: текст или код для кодирования, стандарт в который мы кодируем, размеры картинки на выходе. Bitmap barcode_bitmap = encodeAsBitmap(text, BarcodeFormat.QR_CODE, 200, 200); targetImageView.setImageBitmap(barcode_bitmap); private static Bitmap encodeAsBitmap(String contents, BarcodeFormat format, int img_width, int img_height) throws WriterException < String contentsToEncode = contents; if (contentsToEncode == NULL) < return NULL; >Map hints = NULL; String encoding = guessAppropriateEncoding(contentsToEncode); if (encoding != NULL) < hints = new EnumMap(EncodeHintType.class); hints.put(EncodeHintType.CHARACTER_SET, encoding); >MultiFormatWriter writer = new MultiFormatWriter(); BitMatrix result; try < result = writer.encode(contentsToEncode, format, img_width, img_height, hints); >catch (IllegalArgumentException iae) < // Unsupported format return NULL; >int width = result.getWidth(); int height = result.getHeight(); int[] pixels = new int; for (int y = 0; y < height; y++) < int offset = y * width; for (int x = 0; x < width; x++) < pixels = result.get(x, y) ? BLACK : WHITE; >> Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; >
Что на счёт Штрих-кодов?
Сканер понимает все виды штрих-кодов без каких-либо модификаций, из коробки
.
Генератор же модифицируется не просто, а очень просто: в функцию encodeAsBitmap
передаем в поле
format
вместо BarcodeFormat.QR_CODE, что нибудь вроде BarcodeFormat.CODE_128, что будет соответствовать штрих-коду стандарта Code 128
Пару советов напоследок
Имейте ввиду, что работа с камерой может иметь свои особенности на разных платформах
Замечено, что метод public void onPreviewFrame(byte[] data, Camera camera) < codeImage.setData(data); …. >постоянно теряет память (есть Memory Leak) ввиду того что буфер кадра постоянно создается и очищается на каждом новом превью кадре с камеры. Для того, что бы этого избежать, есть возможность использовать CallbackBuffer для выделения статичного буфера под превью кадры. Это действительно помогает избавится от утечек памяти и даже увеличивает фрейм-рейт у превью картинки с камеры. Но!
, нашлась модель телефона, которая ни в какую не захотела работать с превью буфером и не факт что не найдутся еще, поэтому оставил в примере более надежный способ.
Как сканировать QR-код на телефоне Андроид? ЛЮБОМ!
Генерация штрихкодов имеет ограничения согласно выбранному стандарту: максимальный размер в байтах, разрешенные смиволы и т.д. Изучите особенности линейных штрикодов, для того что бы обеспечить совместимость отображаемых вами штрих-кодов с магазинными сканерами
- lib/
- lib/x86
- lib/armeabi
- lib/armeabi-v7a
UPD. Залил исходники на GitHub Что получилось на выходе проекта (Генератор и Сканер в одном флаконе):

Максимально оптимизируем QR-код
Чтоб наш код «весил» как можно меньше нужно в настройках цвета указать стиль фона — «Прозрачный»…

…и сохранить результат с разрешением «.png»…

Мой qr-код, созданный в программе QR-Code Studio, получился размером всего в 472 байт…
…но даже его можно ещё больше сжать. Для этого запускаем описанную ранее на сайте бесплатную программу для мощного сжатия изображений без потерь под названием RIOT и выбрав в ней вкладку «PNG» — загружаем свой код…

Указываем в разделе «External optimizers» алгори и тыкаем на малозаметный треугольничек в кружочке. Уверен, что полученный результат сжатия многих очень удивит…

Оказалось, что действительно можно сжать qr-код ещё сильнее. Между прочим, знаменитый Фотошоп сжал мне код, полученный не с помощью описанной программы, а обычным онлайн сервисом, всего до 29.2 кб. Нормальная такая разница получилась — 426 байт и 29.2 килобайт…
Даже уменьшение размера до 325 на 325 пикселей не помогло.
Источник: inodroid.ru
Kaspersky QR Scanner
О программе
Kaspersky QR Scanner — безопасный сканер QR-кодов для мобильных платформ Android и iOS с проверкой ссылок и предупреждением о фишинговых или вредоносных веб-сайтах. Использует антивирусные технологии «Лаборатории Касперского»
Что нового
- Исправлены ошибки и улучшена производительность.
Новое в версии 1.8.0 (iOS) (01.06.2020)
- Традиционное устранение неполадок и повышение производительности для более удобной работы с продуктом.
Системные требования
- Требуемая версия Android: 4.4 и выше
- Требуется iOS 10.0 или более поздняя версия. Совместимо с iPhone, iPad и iPod touch.
Полезные ссылки
- «Лаборатория Касперского» выпускает безопасный QR-сканер
- Мобильный антивирус Kaspersky Internet Security для Android
Подробное описание
Kaspersky QR Scanner — бесплатное мобильное приложение для сканирования QR-кодов с проверкой ссылок и предупреждением пользователей о потенциально опасных ресурсах — фишинговых и вредоносных веб-сайтов.
Сканер QR-кодов с веб-защитой доступен для платформ Android и iOS и работает по алгоритму «сканирование — проверка — переход».
Мобильное решение, использующее антивирусные технологии «Лаборатории Касперского», защищает от сравнительно новых видов мошенничества — оформление фишинговой или вредоносной ссылки в виде QR-кода.
Основные возможности Kaspersky QR Scanner
• Удобный интерфейс
Удобное приложение позволяет легко сканировать QR-коды и получать интересующую вас информацию.
• Безопасное сканирование
Используя мощную базу «Лаборатории Касперского», проверяет ссылки, спрятанные под QR-кодом, на наличие фишинговых и вредоносных веб-сайтов.
• Быстрое подключение к Wi-Fi
Позволяет быстро и безопасно автоматически подключаться к беспроводным Wi-Fi сетям, считав соответствующий QR-код.
• Сохранение контактов
Позволяет сохранить контакт в телефонную книгу, считав QR-код с визитной карточки.
• Мобильные платформы
Kaspersky QR Scanner поддерживает смартфоны и планшеты под управлением Android 3.0 и выше, а также мобильные устройства под управлением iOS 8.0 и выше: iPhone, iPad и iPod touch.
Источник: www.comss.ru
Как отсканировать QR код любым мобильным телефоном + ТОП приложений для Android и iOs
Всем привет! И путь вас привел по загадочным обстоятельствам. А именно узнать тайный смысл сканеров QR-кода. Для начала давайте ответим на вопрос – а что же такое QR-сканер, как его проверить и отсканировать, а также для чего он нужен? В общем это специальная программа или онлайн-сервис, которые помогают расшифровать информацию, спрятанную в так называемом QR-коде.
Вы скорее всего уже видели квадратные ажурные черно-белые узоры – вот это и есть QR-код.
Там может таится почти любая информация: описание товара, ссылка на сайт, код для оплаты товара, услуги и многое другое. В последнее время такими кодами снабжают квитанции об оплате ЖКХ, интернета, телевидения и т.д. Таким образом вы моментально введете реквизиты в специальном приложении или получите ссылку на сайт для оплаты.
Также вы сами можете создать свой QR-код и зашифровать любую информацию. Конечно есть и ограничения на количество зашифрованной информации: 7089 цифр и 4296 букв. Есть два способа отсканировать QR-код. Можно просто использовать специальную или вшитую программу – навести камеру на изображение.
После этого программа моментально считает и выведет информацию на экран. Второй способ, просто сфотографировать код и загрузить на онлайн-сервис. Второй способ немного долгий, но также помогает расшифровать QR-code. Вот про то – как сканировать QR мы и поговорим в статье. Я приведу почти все простые способы, которыми вы всегда можете воспользоваться в любой ситуации.
Что это и для чего он нужен?
Сканер для QR кода – это специальная программа, которая считывает и расшифровывает информацию, нужен, прежде всего, для получения информации, которая зашита в штрих-маркере. В зависимости от типа данных и будет отображен результат на экране. Сканер иными словами означает «расшифровщик».

Что касается того, зачем он нужен, то Считыватель QR кода онлайн может помочь Вам, например, ускорить оплату различных платежей. Вы наверняка уже замечали, что квитанции снабжены загадочным почти чёрным квадратом. Или что многие банки, тот же ВТБ предлагают провести оплату с помощью QR-кода.
Так вот, использование сканера поможет ввести мгновенно реквизиты и при этом безошибочно (проверять корректность данных, конечно, нужно), экономя при этом время, особенно актуально для тех, кто оплачивает в терминалах, ведь процесс ввода информации в них организован крайне неудобно.
Кроме этого, с помощью такой технологии любой желающий может закодировать и перевести в формат картинки нужную информацию — будь то адрес сайта, E-mail, обычный текст, номер телефона и тд. Кстати, существует ограничение в 7089 цифр и 4296 букв для одного QR-кода, большее количество символов разместить не получится.
Способов сканировать QR код онлайн через телефон и компьютер существует довольно-таки много, поэтому пошагово рассмотрим все возможные варианты.
Преимущества нашей компании
Помощь профессионалов заметно упрощает процесс получения и регистрации штрих-кодов, сокращает сроки процедур. Наши специалисты сами подготовят все необходимые документы и списки, правильно заполнят заявки. Вы получите следующие преимущества:
- консультационную поддержку по всем вопросам, связанным со штрихкодированием продукции;
- помощь в оформлении и корректировке внутренней документации для перехода на штрих-коды;
- оказание услуг при работе со всеми онлайн-сервисами.


