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

finoz0

Client
Регистрация
20.01.2021
Сообщения
113
Благодарностей
18
Баллы
18
Столкнулся с такой проблемой как, необходимость переходить по ссылке, которая выдаётся в виде qr кода. Изображение могу скачать, но вот быстрого способа чтения самого qr пока не нашёл. Может есть какие-то мысли или придётся всё-таки писать еще один проект, который будет заходить на онлайн сканеры и всё это делать?
 

White trash

Client
Регистрация
09.06.2014
Сообщения
835
Благодарностей
364
Баллы
63
Есть наработки с QR двухфакторной авторизации -
Попробуй этим QR прочесть.
 
  • Спасибо
Реакции: trecho и backoff

trecho

Client
Регистрация
12.07.2018
Сообщения
171
Благодарностей
124
Баллы
43

finoz0

Client
Регистрация
20.01.2021
Сообщения
113
Благодарностей
18
Баллы
18
Есть наработки с QR двухфакторной авторизации -
Попробуй этим QR прочесть.
Варианты не спорю отличные, но для меня сложны в понимании, написал пока как временное решение post запрос на один из онлайн серверов, если вдруг кто-то такой же профан, как и я, пишите, выложу проект
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 179
Благодарностей
2 187
Баллы
113
Вот вам шаблон с библиотекой подключенной. Кто не в теме: библиотеку 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, чтобы мы смогли с этим изображением работать.
 

Вложения

Последнее редактирование:

finoz0

Client
Регистрация
20.01.2021
Сообщения
113
Благодарностей
18
Баллы
18
Вот вам шаблон с библиотекой подключенной. Кто не в теме: библиотеку 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, чтобы мы смогли с этим изображением работать.
Проверил, работает отлично! Спасибо большое! Только в "распознать из картинки" оба кода стоят, не знаю может так надо, но я первую часть удалил и всё супер
 

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
Подскажите, а как совместить два этих кода. Я хочу раскодировать 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, чтобы мы смогли с этим изображением работать.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
Подскажите, а как совместить два этих кода. Я хочу раскодировать 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

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28

baracuda

Client
Регистрация
19.06.2013
Сообщения
804
Благодарностей
286
Баллы
63
А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код:
104103


Визуально
104104



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

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код:
Посмотреть вложение 104103

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


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

Вложения

  • Спасибо
Реакции: orka13

baracuda

Client
Регистрация
19.06.2013
Сообщения
804
Благодарностей
286
Баллы
63
а в какой строке это в ссылку преобразовалось ?
идея была преобразовать svg -> text(информацию с qr кода) без сохранения jpg на диске.
ссылка:
финал должен быть что то типа такого

https://qr.nspk.ru/BD10058OQ7H61FU8S0VGS8VQLNUAC4?type=02&bank=100000000007&sum=14900&cur=RUB&crc=E572
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
а в какой строке это в ссылку преобразовалось ?
идея была преобразовать svg -> text(информацию с qr кода) без сохранения jpg на диске.
ссылка:
финал должен быть что то типа такого

https://qr.nspk.ru/BD10058OQ7H61FU8S0VGS8VQLNUAC4?type=02&bank=100000000007&sum=14900&cur=RUB&crc=E572
В какой текст вы о чём?
Из кода парсите svg xml а дальше делаете с битмап что хотели или QR рисуете или раскодируете QR и получаете ссылку.
 
  • Спасибо
Реакции: borzd

baracuda

Client
Регистрация
19.06.2013
Сообщения
804
Благодарностей
286
Баллы
63

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
который закодирован в QR коде
Вы определитесь с своими хотелками или свой вопрос перечитайте.
Что делать показал. Если сами не осилите код написать то так и говорите и просите соответственно сделать это для вас или за вас.
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
804
Благодарностей
286
Баллы
63
Вы определитесь с своими хотелками или свой вопрос перечитайте.
Что делать показал. Если сами не осилите код написать то так и говорите и просите соответственно сделать это для вас или за вас.
О каких моих хотелках разговор идёт? Вы внятно умеете вести диалог ? Напишите что вы хотите увидеть или услышать.
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
О каких моих хотелках разговор идёт? Вы внятно умеете вести диалог ? Напишите что вы хотите увидеть или услышать.
Ваш вопрос: "А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код: "
Ответ на такой вопрос: "парсите svg xml размер 240х240 и конвертируете в битмап или картинку, а далее получившийся qr приводите в урл адрес"
Теперь ваш черёд, что хотите Вы? На вопрос, как работать с таким кодом я ответил.
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
804
Благодарностей
286
Баллы
63
Ваш вопрос: "А как работать вот с таким кодом.. тоесть QR код конечно отрисовывается.. но имеет во такой код: "
Ответ на такой вопрос: "парсите svg xml размер 240х240 и конвертируете в битмап или картинку, а далее получившийся qr приводите в урл адрес"
Теперь ваш черёд, что хотите Вы? На вопрос, как работать с таким кодом я ответил.
Фух. родили, наконец то. Я то уж подумал что у вас у одного доступ к chatGPT и вы хвастаетесь... теперь более менее понятно.

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

Ещё раз спасибо кто подкинул рабочие решения, теперь аж целых 2.
 
  • Спасибо
Реакции: budora

Jab1Bot

Client
Регистрация
02.01.2021
Сообщения
7
Благодарностей
4
Баллы
3
Раскодировать хочу вот этим, но не получается подставить картинку. Через сохранение всё работает отлично, но мне надо без сохранения, а налету
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.
 

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