Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как узнать, что штрих-код был отсканирован?

Автор вопроса: user3232446Ответов: 1

У меня есть этот метод для создания растрового изображения штрих-кода:

public static Bitmap encodeToQrCode(String text, int width, int height) {
    QRCodeWriter writer = new QRCodeWriter();
    BitMatrix matrix = null;
    try {
        matrix = writer.encode(text, BarcodeFormat.QR_CODE, 400, 400);
    } catch (WriterException ex) {
        ex.printStackTrace();
    }
    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height - 1; y++) {
            bmp.setPixel(x, y, matrix.get(x, y) ? Color.BLACK : Color.WHITE);
        }
    }
    return bmp;
}

Есть ли способ узнать, что штрих-код был отсканирован? Я использую zxing.

  • Либо я не понимаю, чего вы хотите, либо я должен спросить вас: серьезно? Как должно происходить это волшебство? Или вы пытаетесь реализовать какую-то функцию сканирования и хотите знать, когда zxing что-то декодирует? В таком случае: как вы думаете, почему код, который вы используете для создания QR-кода, должен иметь отношение к вопросу? Не думаете ли вы, что код, который вы используете для сканирования штрих-кода, не будет уместным в этом случае? Thorsten Dittmar 17.10.2016
  • почему это должно быть не серьезно? я просто спрашиваю, есть способ или нет? если вы не понимаете, чего я хочу, я могу вам объяснить: когда пользователь сканирует штрих-код, который я показал в приложении не в печатной форме или около того, я спросил, есть ли способ узнать, что пользователь отсканировал штрих-код. user3232446 17.10.2016
  • Нет, ваш вопрос: Вот, я создаю растровое изображение с qr-кодом, как мне узнать, было ли оно отсканировано? Это то же самое, что: Вот, я сделал фото и распечатал его. Как я узнаю, что это кто-то смотрел? Если вы хотите знать, как сканировать штрих-код/2D-код, совершенно не имеет значения, как вы создали код. Вам нужно показать нам код, который вы используете для сканирования кода. И нужно задать правильный вопрос. Thorsten Dittmar 17.10.2016
  • Да я понимаю, что вы имеете в виду. Я никогда не использовал yxing, я думал, что, возможно, у zxing есть эта функция, чтобы узнать, что штрих-код был отсканирован в приложении не в оригинальной форме. Проблема в том, что пользователь может использовать любой сканер штрих-кода для сканирования штрих-кода, поэтому у меня нет контроля над кодом для сканирования штрих-кода. user3232446 17.10.2016
  • Ага, так вы хотите отобразить штрих-код, а затем выполнить какое-то действие, если какой-то другой пользователь с другим приложением отсканировал код? Это невозможно. Thorsten Dittmar 17.10.2016
  • а, хорошо, спасибо, это ответ, который я искал :) user3232446 17.10.2016

androidjavazxingbarcode-scanner

Ответы

Ответ 1 · рейтинг 1 · Thorsten Dittmar

Если я вас правильно понял, вы ищете способ

  1. Создайте растровое изображение, содержащее QR-код
  2. Отобразите это растровое изображение на своем устройстве
  3. Обнаружение, когда другое устройство, не использующее ваше программное обеспечение, сканирует этот код

Это невозможно. Растровое изображение QR-кода - это просто растровое изображение, отображаемое вашим приложением. А приложение для сканирования штрих-кода просто делает снимок вашего дисплея и пытается найти шаблоны в этом растровом изображении.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы