1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/baijuncheng-open-source-qrcode-reader-view

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

QRCodeReaderView

Модификация проекта ZXING Barcode Scanner для простого обнаружения QR-кодов и целей дополненной реальности.

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

Некоторые классы управления камерой и автофокуса взяты и слегка модифицированы из приложения ohos Barcode Scanner.

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

Предварительный просмотр:

Использование:

Добавьте «QRCodeReaderView» в редактор макетов, как вы обычно делаете с кнопкой, например. В методе onCreate вы можете найти компонент, используя функцию findComponentById(). Создайте возможность, которая реализует onQRCodeReadListener, и позвольте реализовать необходимые методы или установить onQRCodeReadListener на объект QRCodeReaderView. Убедитесь, что у вас есть разрешения камеры, чтобы использовать библиотеку.

        <com.dlazaro66.qrcodereaderview.QRCodeReaderView
            ohos:id="$+id:qrcoderView"
            ohos:height="match_parent"
            ohos:width="match_parent"/>

Запускайте и останавливайте предварительный просмотр камеры в переопределённых методах onStop() и onActive(). Вы можете разместить виджеты или представления поверх QRDecoderView.

public class MainAbility extends Ability implements SurfaceOps.Callback,QRCodeReaderView.OnQRCodeReadListener {
    private QRCodeReaderView mQrCodeReaderView;
    private PointsOverlayView pointsOverlayView;
    private Text resultTextView;

    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        WindowManager windowManager = WindowManager.getInstance();
        Window window = windowManager.getTopWindow().get();
        window.setTransparent(true);

        mQrCodeReaderView = (QRCodeReaderView)findComponentById(ResourceTable.Id_qrcoderView);
        mQrCodeReaderView.getSurfaceOps().get().addCallback(this);

    }
// Вызывается при декодировании QR
// «text»: текст, закодированный в QR
// «points»: точки, где расположены контрольные точки QR
@Override
public void onQRCodeRead(String text, Point[] points) {
    resultTextView.setText(text);
    pointsOverlayView.setVisibility(Component.VISIBLE);
    pointsOverlayView.setPoints(points);
    mQrCodeReaderView.stopDecode();
}

@Override
protected void onActive() {
    super.onActive();
    Logger.getLogger(TAG).severe("onActive  mQrCodeReaderView =" + mQrCodeReaderView );
    if(mQrCodeReaderView != null ){
        mQrCodeReaderView.startCamera();
    }
}

@Override
protected void onStop() {
    super.onStop();
    if (mQrCodeReaderView != null) {
        mQrCodeReaderView.stopCamera();
    }}
}

Интеграция библиотеки в ваше приложение

Решение 1: интеграция локального исходного кода, пользователи могут настраивать его на основе исходного кода

  1. Скопируйте папку qrcodereaderview в каталог проекта.
  2. Измените настройки проекта gradle, добавьте зависимости к трём модулям следующим образом:

include ':qrcodereaderview' 3. Внедрите зависимость импортированного модуля в проект. Возьмите модуль входа в качестве примера, вам нужно изменить зависимость импортированного модуля в файле build.gradle модуля входа, чтобы добавить зависимости:

dependencies {
    entryImplementation project(':entry')
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
    debugImplementation project(path: ':qrcodereaderview')
}

Решение 2: Интеграция локального пакета HAR

  1. Добавьте пакет HAR (qrcodereaderview-debug.har) в папку lib.
  2. Добавьте следующий код в gradle Entry:

implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])

Решение 3: Интеграция удалённого репозитория maven

Добавьте следующий код во входную строку gradle:

implementation 'com.gitee.baijuncheng-open-source:QRCodeReaderView:1.0.0'

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

Копию лицензии можно получить по адресу:

http://www.apache.org/licenses/LICENSE-2.0

Если иное не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по лицензии, предоставляется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. лицензию для получения информации о конкретных положениях, регулирующих разрешения и ограничения в рамках лицензии.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это простой инструмент для сканирования камерой. Зайдите в приложение, включите предварительный просмотр камеры, можно также включить вспышку; активируйте переключатель QR-сканирования, чтобы отсканировать код. После этого на экране будут отмечены четыре угла двумерного кода и отображена ссылка. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/baijuncheng-open-source-qrcode-reader-view.git
git@gitlife.ru:oschina-mirror/baijuncheng-open-source-qrcode-reader-view.git
oschina-mirror
baijuncheng-open-source-qrcode-reader-view
baijuncheng-open-source-qrcode-reader-view
master