如何產生qrcode檔案

安裝
pip install qrcode

範例
import qrcode
img = qrcode.make(‘https://www.ark-argo.com.tw/collections/狂姊’)
img.save(“test.png”)

因為中文碼,有些軟體解析會出問題

import qrcode
from urllib import parse
url=‘https://www.ark-argo.com.tw/collections/’
url_end = “狂姊”
img = qrcode.make(url + parse.quote(url_end) )
img.save(“test.png”) # 儲存圖片

固定圖片大小 或者 顏色
import qrcode
from urllib import parse

url=‘https://www.ark-argo.com.tw/collections/’
url_end = “狂姊”

qr = qrcode.QRCode(
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=5,
border=8
)

qr.add_data(url + parse.quote(url_end))
qr.make()

img = qr.make_image(fill_color=“black”, back_color=“white”)
img.save(‘test.png’)

QRCode 即二维码,在信息存储与传递等方面应用广泛,以下从生成、识别、应用方面介绍相关信息: ### 生成 - **Python 生成方法**:使用`qrcode`库的`QRCode`函数创建二维码对象,该函数参数丰富。`version`表示二维码版本号,有 1 - 40 个版本,最小为 25 * 25,每增加一个版本尺寸增加 4 个格子;`error_correction`控制纠错级别,有`ERROR_CORRECT_L`(约 7% 或更少错误可更正)、`ERROR_CORRECT_M`(默认,约 15% 或更少错误可更正)、`ERROR_CORRECT_Q`(约 25% 或更少错误可更正)、`ERROR_CORRECT_H`(约 30% 或更少错误可更正);`box_size`控制每个格子像素数,默认 10;`border`控制四周留白格子数,默认 4;`image_factory`选择生成图片形式,默认 PIL 图像;`mask_pattern`选择生成图片的掩模。示例代码如下: ```python import qrcode from PIL import Image # 创建二维码对象 qr = qrcode.QRCode(version=8, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=0) data = "https://example.com" # 为二维码添加数据 qr.add_data(data) # 生成 qrImage = qr.make_image(fill_color='black', back_color='white') # 显示二维码图像 qrImage.show() # 也可以把它粘贴到其他空白图像上,用来打印 height = 512 width = 512 img = Image.new('RGB', (width, height), "white") img.paste(qrImage, (21, 21)) img.show() ``` - **React 生成方法**:使用`qrcode.react`库,示例代码如下: ```javascript var React = require('react'); var QRCode = require('qrcode.react'); var mountNode = document.getElementById('mountNode'); React.render( <QRCode value="http://facebook.github.io/react/" />, mountNode ); ``` ### 识别 识别二维码通常使用专门的库,如 Python 中的`pyzbar`库。该库可用于解码二维码图片中的信息,示例代码如下: ```python from pyzbar.pyzbar import decode from PIL import Image # 打开二维码图片 image = Image.open('qrcode.png') # 解码二维码 decoded_objects = decode(image) for obj in decoded_objects: print('Type:', obj.type) print('Data:', obj.data.decode('utf-8')) ``` ### 应用 - **商业营销**:商家在宣传海报、产品包装上印上二维码,消费者扫描后可获取产品详情、促销活动等信息,增加互动与销售机会。 - **移动支付**:用户出示或扫描二维码完成支付,便捷高效,广泛应用于各类消费场景。 - **信息获取**:景点、博物馆等场所设置二维码,游客扫描后可获取详细的介绍信息。 - **票务服务**:电子车票、门票等多以二维码形式呈现,方便检票与管理。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值