Вторник, 18 Декабря 2018, 15:42

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как я делал QR сканер на Unity
Как я делал QR сканер на Unity
MinskiiДата: Вторник, 31 Июля 2018, 20:28 | Сообщение # 1
участник
Сейчас нет на сайте
Всем доброго.Было принято решение ввести в проект QR сканер, он позволит быстро вводить коды доступа, обмениваться ими.
Для приложения это станет классной изюминкой, для пользователей удобным инструментом.Ну а для кодеров вроде меня...Гемороем...Думал я.
А теперь по порядку.


Часть 1: Поиск библиотек
Для начала нужно было найти библиотеки которые позволят сканировать QR коды.Порывшись нашёл проект,библиотеки возьмём из него.Как я понял он позволяет ещё и работать с bar кодами,но нам оно не нужно.

Проект сканера

Библиотека имеет расширение .jar . Следовательно для её работы необходим Android JDK.

Часть 2: Кодинг
Про метод вызова сканера говорить не вижу смысла, решайте сами.Тут лишь сам процесс запуска.

1.Для начала в проект грузим zbar.jar , libiconv.so и libzbarjni.so из файлов сканера.
2.Потом в коде загружаем их в память
Код
static {
System.loadLibrary("iconv");
}

3.Создаём объект класса ImageScanner.
Код
scanner = new ImageScanner();
scanner.setConfig(0, Config.X_DENSITY, 3); //почему именно эти параметры нигде не указано
scanner.setConfig(0, Config.Y_DENSITY, 3);

4.Передаём методу кадры с камеры.
Код
PreviewCallback previewCb = new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
String lastScannedCode;
codeImage.setData(data);
int result = scanner.scanImage(codeImage);
if (result != 0) {
SymbolSet syms = scanner.getResults();
for (Symbol sym : syms) {
lastScannedCode = sym.getData();
}
}
}
}

В итоге информация записывается в lastScannedCode. Отсюда посылаем куда хотим.

Весь код уже был в проекте, это лишь куски необходимые для добавления сканера в приложение.
Всем спасибо.



Один терранозавр - это 1024 гиганозавра, или 1048576 меганозавров.
C#


Сообщение отредактировал Minskii - Вторник, 31 Июля 2018, 20:59
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как я делал QR сканер на Unity
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг