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

OSCHINA-MIRROR/blackwalnutlabs-waffle_nano_v1_python_api_document

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
README.md 3.5 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
HerculesHu Отправлено 4 лет назад c1d3dbc

二维码生成库

简介

  使用此库可将普通字符串转化为二维码。

qrcode API详解

  使用import qrcode导入二维码生成类 qrcode。   再使用 TAB 按键来查看 qrcode 中所包含的内容:

>>> import qrcode
>>>qrcode.
_name           ECC_HIGH        ECC_LOW              ECC_MEDIUM
ECC_QUARTILE       QrCode

宏定义

  下面的宏定义用于配置qrcode,用于设置二维码的容错率。

宏定义 含义
qrcode.ECC_LOW 容错率 7%
qrcode.ECC_MEDIUM 容错率 15%
qrcode.ECC_QUARTILE 容错率 25%
qrcode.ECC_HIGH 容错率 30%

  class QrCode()

构造QrCode

  示例:

import qrcode
qr = qrcode.QrCode() ##构造一个二维码生成对象

函数

qrcode.encode_text(str,ecc)

  函数说明:生成一个二维码。

  参数说明:

  • str:待转化为二维码的字符串
  • ecc:转化容错率

  示例:

import qrcode
qr = qrcode.QrCode()  ## 构造一个二维码生成对象
qr.encode_text("https://blackwalnut.tech", qrcode.ECC_HIGH)   ## 使用30%的容错率,将`https://blackwalnut.tech`字符串转化为二维码

qrcode.get_size()

  函数说明:获取生成的正方形二维码的以像素点为单位的边长。

  函数返回:返回生成的正方形二维码的以像素点为单位的边长。

  示例:


import qrcode
qr = qrcode.QrCode()  ## 构造一个二维码生成对象
qr.encode_text("https://blackwalnut.tech", qrcode.ECC_HIGH)   ## 使用30%的容错率,将`https://blackwalnut.tech`字符串转化为二维码
lens=qr.get_size() ##获取生成的正方形二维码的以像素点为单位的边长。

qrcode.get_module(col,row)

  函数说明:返回给定坐标处像素的颜色。

  参数说明:

  • col:坐标像素列
  • row:坐标像素行

  函数返回:若值为False,代表此坐标所代表的像素点为白色或者坐标超出给定边界,若值为True,代表此坐标所代表的像素点为黑色。

  示例:

import qrcode
qr = qrcode.QrCode()  ## 构造一个二维码生成对象
qr.encode_text("https://blackwalnut.tech", qrcode.ECC_HIGH)   ## 使用30%的容错率,将`https://blackwalnut.tech`字符串转化为二维码
lens=qr.get_size() ##获取生成的正方形二维码的以像素点为单位的边长。
color=qr.get_module(5,4) ##获取生成的二维码在5列,4行处的颜色。

总示例代码

  该代码能在屏幕上显示出最终完成转换的二维码图案。

from machine import SPI, Pin
import st7789
spi = SPI(0, baudrate=40000000, polarity=1, phase=0, bits=8, endia=0, sck=Pin(6), mosi=Pin(8))

display = st7789.ST7789(spi, 240, 240, reset=Pin(11,func=Pin.GPIO, dir=Pin.OUT), dc=Pin(7,func=Pin.GPIO, dir=Pin.OUT))
display.init()
display.fill(0xFFFFF)

import qrcode

qr = qrcode.QrCode()
qr.encode_text("https://blackwalnut.tech", qrcode.ECC_HIGH)

border = 4
len = 8

for row in range(0, qr.get_size()):
    for col in range(0, qr.get_size()):
        x1 = col*len+border
        y1 = row*len+border
        display.fill_rect(x1, y1, len, len, 0 if qr.get_module(col, row) else 0xFFFFF)
        print("##" if qr.get_module(col, row) else "  ", end = "")
    print()
print()

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

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

1
https://gitlife.ru/oschina-mirror/blackwalnutlabs-waffle_nano_v1_python_api_document.git
git@gitlife.ru:oschina-mirror/blackwalnutlabs-waffle_nano_v1_python_api_document.git
oschina-mirror
blackwalnutlabs-waffle_nano_v1_python_api_document
blackwalnutlabs-waffle_nano_v1_python_api_document
v1.1.1-stable