Как читать QR код?

finoz0

Client
Регистрация
20.01.2021
Сообщения
144
Реакции
27
Баллы
28
Столкнулся с такой проблемой как, необходимость переходить по ссылке, которая выдаётся в виде qr кода. Изображение могу скачать, но вот быстрого способа чтения самого qr пока не нашёл. Может есть какие-то мысли или придётся всё-таки писать еще один проект, который будет заходить на онлайн сканеры и всё это делать?
 
 
Есть наработки с QR двухфакторной авторизации -
Попробуй этим QR прочесть.
Варианты не спорю отличные, но для меня сложны в понимании, написал пока как временное решение post запрос на один из онлайн серверов, если вдруг кто-то такой же профан, как и я, пишите, выложу проект
 
Вот вам шаблон с библиотекой подключенной. Кто не в теме: библиотеку MessagingToolkit.QRCode.dll закинуть в папку зенки, типа в:
c:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.6.0.0\Progs\ExternalAssemblies\
Код в шаблоне умеет как делать так и распознавать QRCode:
C#:
Развернуть Свернуть Копировать
string qrtext = "orka13"; //считываем текст из TextBox'a
QRCodeEncoder encoder = new QRCodeEncoder(); //создаем объект класса QRCodeEncoder
Bitmap qrcode = encoder.Encode(qrtext); // кодируем слово, полученное из TextBox'a (qrtext) в переменную qrcode. класса Bitmap(класс, который используется для работы с изображениями)
System.Drawing.Image Image1 = qrcode as Image; // pictureBox выводит qrcode как изображение.
Image1.Save(@"C:\QR.jpg");

System.Drawing.Image Image2 = Image.FromFile(@"c:\QR2.jpg");
QRCodeDecoder decoder = new QRCodeDecoder(); // создаём "раскодирование изображения"
return decoder.Decode(new QRCodeBitmapImage(Image2 as Bitmap)); //в MessageBox'e программа запишет раскодированное сообщение с изображения, которое предоврительно будет переведено из pictureBox'a в класс Bitmap, чтобы мы смогли с этим изображением работать.
 

Вложения

Последнее редактирование:
Вот вам шаблон с библиотекой подключенной. Кто не в теме: библиотеку MessagingToolkit.QRCode.dll закинуть в папку зенки, типа в:
c:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.6.0.0\Progs\ExternalAssemblies\
Код в шаблоне умеет как делать так и распознавать QRCode:
C#:
Развернуть Свернуть Копировать
string qrtext = "orka13"; //считываем текст из TextBox'a
QRCodeEncoder encoder = new QRCodeEncoder(); //создаем объект класса QRCodeEncoder
Bitmap qrcode = encoder.Encode(qrtext); // кодируем слово, полученное из TextBox'a (qrtext) в переменную qrcode. класса Bitmap(класс, который используется для работы с изображениями)
System.Drawing.Image Image1 = qrcode as Image; // pictureBox выводит qrcode как изображение.
Image1.Save(@"C:\QR.jpg");

System.Drawing.Image Image2 = Image.FromFile(@"c:\QR2.jpg");
QRCodeDecoder decoder = new QRCodeDecoder(); // создаём "раскодирование изображения"
return decoder.Decode(new QRCodeBitmapImage(Image2 as Bitmap)); //в MessageBox'e программа запишет раскодированное сообщение с изображения, которое предоврительно будет переведено из pictureBox'a в класс Bitmap, чтобы мы смогли с этим изображением работать.
Проверил, работает отлично! Спасибо большое! Только в "распознать из картинки" оба кода стоят, не знаю может так надо, но я первую часть удалил и всё супер
 
Подскажите, а как совместить два этих кода. Я хочу раскодировать QR со скрина инстанса, но без сохранения файла на диск.

Скрин получаю вот этим кодом:
C#:
Развернуть Свернуть Копировать
var he=instance.ActiveTab.FindElementByXPath("//html",0);
var bmp = he.DrawPartAsBitmap(0,200,115,115,false);
//bmp.Save(@"c:\test.bmp");

Раскодировать хочу вот этим, но не получается подставить картинку. Через сохранение всё работает отлично, но мне надо без сохранения, а налету
C#:
Развернуть Свернуть Копировать
System.Drawing.Image Image2 = Image.FromFile(@"c:\QR2.jpg");
QRCodeDecoder decoder = new QRCodeDecoder(); // создаём "раскодирование изображения"
return decoder.Decode(new QRCodeBitmapImage(Image2 as Bitmap)); //в MessageBox'e программа запишет раскодированное сообщение с изображения, которое предоврительно будет переведено из pictureBox'a в класс Bitmap, чтобы мы смогли с этим изображением работать.
 
Подскажите, а как совместить два этих кода. Я хочу раскодировать QR со скрина инстанса, но без сохранения файла на диск.

Скрин получаю вот этим кодом:
C#:
Развернуть Свернуть Копировать
var he=instance.ActiveTab.FindElementByXPath("//html",0);
var bmp = he.DrawPartAsBitmap(0,200,115,115,false);
//bmp.Save(@"c:\test.bmp");

Раскодировать хочу вот этим, но не получается подставить картинку. Через сохранение всё работает отлично, но мне надо без сохранения, а налету
C#:
Развернуть Свернуть Копировать
System.Drawing.Image Image2 = Image.FromFile(@"c:\QR2.jpg");
QRCodeDecoder decoder = new QRCodeDecoder(); // создаём "раскодирование изображения"
return decoder.Decode(new QRCodeBitmapImage(Image2 as Bitmap)); //в MessageBox'e программа запишет раскодированное сообщение с изображения, которое предоврительно будет переведено из pictureBox'a в класс Bitmap, чтобы мы смогли с этим изображением работать.
Bitmap и Image по сути одно и тоже.
попробуй System.Drawing.Image Image2 = (System.Drawing.Image) bmp ;
но это я так, на глаз, без запуска в отладчике написал
 
  • Спасибо
Реакции: eee, orka13 и Evgeny76
А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код:
104103


Визуально
104104



Вариант сделать скрин понятен. а вот прям сразу.. с корабля на бал... без "посредника". если варианты ? Если конкретно то это WB
 
А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код:
Посмотреть вложение 104103

Визуально
Посмотреть вложение 104104


Вариант сделать скрин понятен. а вот прям сразу.. с корабля на бал... без "посредника". если варианты ? Если конкретно то это WB
 

Вложения

  • Screenshot 2023-03-06 at 20-08-52 ChatGPT.png
    Screenshot 2023-03-06 at 20-08-52 ChatGPT.png
    54,6 KB · Просмотры: 264
  • Спасибо
Реакции: orka13
а в какой строке это в ссылку преобразовалось ?
идея была преобразовать svg -> text(информацию с qr кода) без сохранения jpg на диске.
ссылка:
Развернуть Свернуть Копировать
финал должен быть что то типа такого

https://qr.nspk.ru/BD10058OQ7H61FU8S0VGS8VQLNUAC4?type=02&bank=100000000007&sum=14900&cur=RUB&crc=E572
 
а в какой строке это в ссылку преобразовалось ?
идея была преобразовать svg -> text(информацию с qr кода) без сохранения jpg на диске.
ссылка:
Развернуть Свернуть Копировать
финал должен быть что то типа такого

https://qr.nspk.ru/BD10058OQ7H61FU8S0VGS8VQLNUAC4?type=02&bank=100000000007&sum=14900&cur=RUB&crc=E572
В какой текст вы о чём?
Из кода парсите svg xml а дальше делаете с битмап что хотели или QR рисуете или раскодируете QR и получаете ссылку.
 
  • Спасибо
Реакции: borzd
который закодирован в QR коде
Вы определитесь с своими хотелками или свой вопрос перечитайте.
Что делать показал. Если сами не осилите код написать то так и говорите и просите соответственно сделать это для вас или за вас.
 
Вы определитесь с своими хотелками или свой вопрос перечитайте.
Что делать показал. Если сами не осилите код написать то так и говорите и просите соответственно сделать это для вас или за вас.
О каких моих хотелках разговор идёт? Вы внятно умеете вести диалог ? Напишите что вы хотите увидеть или услышать.
 
О каких моих хотелках разговор идёт? Вы внятно умеете вести диалог ? Напишите что вы хотите увидеть или услышать.
Ваш вопрос: "А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код: "
Ответ на такой вопрос: "парсите svg xml размер 240х240 и конвертируете в битмап или картинку, а далее получившийся qr приводите в урл адрес"
Теперь ваш черёд, что хотите Вы? На вопрос, как работать с таким кодом я ответил.
 
Ваш вопрос: "А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код: "
Ответ на такой вопрос: "парсите svg xml размер 240х240 и конвертируете в битмап или картинку, а далее получившийся qr приводите в урл адрес"
Теперь ваш черёд, что хотите Вы? На вопрос, как работать с таким кодом я ответил.
Фух. родили, наконец то. Я то уж подумал что у вас у одного доступ к chatGPT и вы хвастаетесь... теперь более менее понятно.

Собственно решение(проектик) уже подкинули готовое с подробными объяснениями с личку. За что спасибо огромное.

Ещё раз спасибо кто подкинул рабочие решения, теперь аж целых 2.
 
  • Спасибо
Реакции: budora
Раскодировать хочу вот этим, но не получается подставить картинку. Через сохранение всё работает отлично, но мне надо без сохранения, а налету
C#:
Развернуть Свернуть Копировать
System.Drawing.Image Image2 = Image.FromFile(@"c:\QR2.jpg");
QRCodeDecoder decoder = new QRCodeDecoder(); // создаём "раскодирование изображения"
return decoder.Decode(new QRCodeBitmapImage(Image2 as Bitmap)); //в MessageBox'e программа запишет раскодированное сообщение с изображения, которое предоврительно будет переведено из pictureBox'a в класс Bitmap, чтобы мы смогли с этим изображением работать.

Подскажите пожалуйста, исправленный код. Данный код после того как картинка была использованная для распознования, не возможно удалить файл с Widnows (так же через зенку) или заменить его, бывает сообщение что файл используется в программе zennoposter.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)