Генерация qr code python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Welcome to our QR Code Generator repository! This is a Python implementation of a QR Code generator, with a user interface created using the Tkinter library. In this project, we aimed to create a simple, yet powerful tool for generating QR Codes for various purposes such as marketing, event management, or personal use.

CodeStudio-Content/QR-Code-Generator-Python

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

This is a simple QR code generator made using Python and Tkinter. It allows you to generate QR codes for URL that you input, and save them as image files.

Check out our project blog post for more information on the development process and our thoughts on the QR Code Generator project:

  • Clone this repository to your local machine.
  • Open a terminal window and navigate to the cloned repository.
  • Run the following command to start the game: python3 qr.py
  1. Enter the text or URL that you want to generate a QR code for and click the «Generate QR Code» button.
  2. Your QR code will be displayed on the screen. Click the «Save QR Code» button to save the QR code image as a PNG file.
  3. Choose a location to save the QR code image by using the file dialog box that appears. Enter a file name and click the «Save» button.
  1. creating the user interface and handling user input.
  2. The init method initializes the user interface by creating and configuring the label, entry, and button widgets.
  3. The generate_qr_code method generates a QR code based on the user input, and the save_qr_code method saves the QR code as a PNG image file.
  4. Finally, the root variable creates the main window and runs the QRCodeGenerator class.
Читайте также:  Php installation how to

Made with ❤️ , Python, and Tkinter. Enjoy!

About

Welcome to our QR Code Generator repository! This is a Python implementation of a QR Code generator, with a user interface created using the Tkinter library. In this project, we aimed to create a simple, yet powerful tool for generating QR Codes for various purposes such as marketing, event management, or personal use.

Источник

Как сделать QR код с картинкой на Python

Как поместить полноценное изображение на фон QR кода с помощью Python (быстро, без регистрации и смс).

Суть проблемы

Всем привет, Хабрчане! В наше нелегкое время QR коды требуют на каждом углу, от Кинотеатров до общественных Туалетов. Пандемия увеличила популярность этих удобных квадратов и дала понимание, что без них не обойтись.

К сожалению их удобство не смогло совладать с раздражающим процессом демонстрации сертификата администраторам и охранникам во всех общественных местах.

Лица проверяющих, к которым зачастую выстраиваются очереди, выглядят мягко сказать недовольными. А если этот набор пикселей затерялся в галерее… И так пару раз за день. Вся эта процедура раздражает и бесит!

Поиск решения

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

Идея заключалась в генерации забавных QR-кодов. Тут же побежал на просторы интернетов в поисках готовых библиотек и модулей.

Из достойного попался на глаза модуль MyQR (Amazing-QR):

Качество оставляет желать лучшего, согласитесь

  • Плюсы: На Python, возможность создания gif изображений
  • Минусы: Шакальное качество, эстетически несочетающиеся с изображением полосы
  • Источник — https://github.com/x-hw/amazing-qr

К великому сожалению все они оказались чересчур примитивными, генерирующими пережатый 8/10 шакалов дЖпег со страшными полосами в QR коде, что совсем мне не подходило.

Время костылей

Было решено написать свой костыль модуль-надстройку для qrcode (Python).

Определился с минимальными требованиями для него:

  • Добротное качество выходного изображения
  • Отсутствие непонятных позиционных полос
  • Возможность изменения стиля и цвета пикселей* кода

Весь код есть на Github, ссылка будет внизу, в источниках

И так, начнем…

Первым делом устанавливаем все зависимости командой: pip install -r requirements.txt

В зависимости от вашей ОС устанавливаем модуль pyzbar. Инструкция: https://pypi.org/project/pyzbar/

Если у вас Mac OS и вылезают ошибки zbar, то перед каждым запуском ОС выполняйте команду: export DYLD_LIBRARY_PATH=/opt/homebrew/lib

Читайте также:  Php space character in string

Все остальное для быстрого использования уже настроено и готово к работе, просто откройте файл example.py

from path import Path from main import gen_qr_code text = "текст для шифровки в QR код" path_to_download = Path().joinpath("example", "example.jpg") path_to_save = Path().joinpath("example", "example.png") gen_qr_code(text, path_to_download, path_to_save)

Модуль Path нужен для работы с путями. Функция gen_qr_code является генератором QR-кода, для нее подготавливаем:

  • text — текст, url, то что будет шифроваться в QR код
  • path_to_download — путь до фоновой картинки (вместе с именем и форматом самой картинки)
  • path_to_save — путь куда сохранять готовое изображение (в формате .png)

1) Передаем 3 аргумента в gen_qr_code()

2) Запуск из корневой директории команды — python example.py

Читаются превосходно

Логика работы банальна — Фоновое изображение автоматически подгоняется под будущие размеры QR-кода, затем модуль qrcode генерирует числовую матрицу из текста, который ему передали, после модуль Pillow рисует png картинку из матрицы, и наконец png накладывается на фоновую картинку.

Хочу поблагодарить за внимание дорогие мои, добра вам и счастья в копилку. Сделаем этот мир чуточку веселее!

Если кого нибудь заинтересует более подробный функционал (изменение цвета, яркости, формы пикселей qr кода — прошу написать мне, с удовольствием поделюсь)

Источник

Создаем QR-коды с помощью Python

Нас всюду окружают QR-коды. Это удобный способ передать пользователю ссылку на сайт в рекламе, пароль от Wi-Fi или страницу загрузки меню в кафе. Их используют, чтобы получить номер в очереди, подтвердить вакцинацию, быстро проверить документы. QR-коды на достопримечательностях позволяют загрузить их изображения, трехмерные модели, информацию и даже музыку (как, например, шопеновские лавочки в Варшаве), расширяющие наш опыт туризма. Они могут заменить увесистую стопку скидочных карточек и упростить авторизацию в мессенджере.

В профессиональной деятельности QR-коды массово используются для инвентаризации, маркировки продуктов и образцов. Такие задачи остро нуждаются в автоматизации. К счастью, в Python есть модуль qrcode, позволяющий превратить текст в симпатичные квадратики.

Создаем QR-коды

Для начала, нам нужно установить модуль qrcode. Он использует библиотеку Pillow, так что мы загрузим все разом:

Теперь нам даже необязательно писать программу, чтобы создать QR-код. Мы можем сделать это прямо в командной строке.

qr "https://okumy.com/" > okumy.png 

В результате мы получим такое изображение:

image

В Python мы можем воспользоваться функцией qrcode.make() :

import qrcode img = qrcode.make('https://okumy.com/') type(img) # qrcode.image.pil.PilImage img.save("okumy.png") 

А теперь напишем программу для инвентаризации. Она автоматически сгенерирует QR-коды с инвентарным номером для каждого предмета. Останется только распечатать их на наклейках в ближайшем копицентре. Докупив оборудование, мы можем начать с номера, на котором остановились.

import qrcode def main(): start = int(input('Введите первый номер:')) stop = int(input('Введите последний номер:')) for i in range(start, stop + 1): value = '#' + str(i).rjust(8, '0') qrcode.make(value).save(value + '.png') if __name__ == '__main__': main() 

Теперь можно держать все инвентарные номера в базе данных, и управлять списанием прямо с телефона.

Читайте также:  Typescript type of class instance

Продвинутые QR-коды

Если вы хотите большего, можно воспользоваться классом qrcode.QRCode . Он позволяет настраивать разные параметры.

import qrcode qr = qrcode.QRCode( version=10, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=15, border=6, ) qr.add_data('https://okumy.com/') qr.make(fit=True) img = qr.make_image(fill_color=(75, 0, 75), back_color=(190, 190, 255)).save('ok.png') 

version — число от 1 до 40, отвечающее за размер поля QR-кода. Единица задает матрицу 21 на 21 квадрат. None позволяет автоматически подстраивать размер.

error_correction — определяет избыточность QR-кода, допустимый процент ошибок. Варьируется от 7% ( ERROR_CORRECT_L ) до 30% ( ERROR_CORRECT_H ), по умолчанию — 15%.

box_size — размер квадратов в пикселях.

border — определяет толщину границы. Не может быть меньше 4 (значение по умолчанию).

fill_color , black_color — это цвет фона и квадратов. Желательно делать их контрастными, иначе камера телефона не сможет прочесть QR-код. Помимо текста, они могут принимать RGB-кортежи.

image

Заключение

Модуль qrcode позволяет генерировать QR-коды в Python или прямо из командной строки. Базовая функция make() позволяет создать QR-код в одну строку, а использование класса QRCode позволит контролировать разнообразные параметры. Этому модулю можно найти множество самых разнообразных применений, от эффектной рекламы до граффити.

Практический Python для начинающих

Практический Python для начинающих

Станьте junior Python программистом за 7 месяцев

Источник

Генерация и считывание QR-кода в Python

Генерация и считывание QR-кода в Python

Статьи

Введение

В данной статье научимся генерировать и считывать QR-код в языке программирования Python.

Генерация QR-кода в Python

Чтобы сгенерировать QR-код нам нужен модуль под названием qrcode. Для его установки нужно перейти в терминал/командную строку, прописать pip install qrcode, нажать Enter и ждать установки.

После инсталляции модуля мы его импортируем:

Теперь сохраним в переменную data ссылку, на которую будет вести QR-код. Это может быть всё что угодно, но в качестве примера я укажу ссылку на этот сайт:

import qrcode data = "https://it-start.online"

Далее нам нужно сгенерировать сам QR-код. Для этого используем функцию make():

import qrcode data = "https://it-start.online" img = qrcode.make(data)

Методом save() сохраним итоговый результат:

import qrcode data = "https://it-start.online" img = qrcode.make(data) img.save('qr-code name.png')

Считывание QR-кода в Python

Для считывания QR-кода нам понадобится библиотека под названием cv2. Для её установки нужно перейти в терминал/командную строку, прописать pip install opencv-python нажать Enter и ждать установки.

После инсталляции импортируем библиотеку cv2:

При помощи функции imread() откроем изображение с QR-кодом:

import cv2 img = cv2.imread('qr-code name.png')

Создадим экземпляр класса QRCodeDetector():

import cv2 img = cv2.imread('qr-code name.png') detector = cv2.QRCodeDetector()

Осталось считать qr-код и вывести в консоль:

import cv2 img = cv2.imread("qr-code name.png") detector = cv2.QRCodeDetector() data, bbox, straight_qrcode = detector.detectAndDecode(img) print(f"Данные из qr-кода: ") # Вывод: Данные из qr-кода: https://it-start.online

Заключение

В ходе статьи мы с Вами научились генерировать и считывать QR-коды в языке программирования Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Источник

Оцените статью