python二维码操作:对QRCode和MyQR入门详解

时间:2021-05-22

python是所有编程语言中模块最丰富的

生活中常见的二维码功能在使用python第三方库来生成十分容易

三个大矩形是定位图案,用于标记二维码的大小。这三个定位图案有白边,通过这三个矩形就可以标识一个二维码了。

QRCode 生成这个二维码只用一行

import qrcode qrcode.make("不睡觉干嘛呢").get_image().show() #设置URL必须添加http://

安装导入QRCode

pip install qrcode #方法多,体量小

安装导入MyQR

pip install myqr #操作简单,功能强大

QRCode 多种自定义方法

import qrcode text = input("输入文字或URL:")img =qrcode.make(text)img.save() #保存图片至本地目录,可以设定路径img.show()

生成添加logo的二维码

from PIL import Imageimport qrcode,os def create_qrcode(url,qrcodename): qr = qrcode.QRCode( version=1, # 设置容错率为最高 error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度 box_size=8, # 控制二维码中每个格子的像素数,默认为10 border=1, # 二维码四周留白,包含的格子数,默认为4 #image_factory=None, 保存在模块根目录的image文件夹下 #mask_pattern=None ) qr.add_data(url) # QRCode.add_data(data)函数添加数据 qr.make(fit=True) # QRCode.make(fit=True)函数生成图片 img = qr.make_image() img = img.convert("RGBA") # 二维码设为彩色 logo = Image.open('xx.jpg') # 传gif生成的二维码也是没有动态效果的 w , h = img.size logo_w , logo_h = logo.size factor = 4 # 默认logo最大设为图片的四分之一 s_w = int(w / factor) s_h = int(h / factor) if logo_w > s_w or logo_h > s_h: logo_w = s_w logo_h = s_h logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS) l_w = int((w - logo_w) / 2) l_h = int((h - logo_h) / 2) logo = logo.convert("RGBA") img.paste(logo, (l_w, l_h), logo) img.show() img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)

MyQR 生成动态二维码

from MyQR import myqrimport osmyqr.run( words='Hello world', #在命令后输入链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“ version=1, #设置容错率为最高默认边长是取决于你输入的信息的长度和使用的纠错等级;而默认纠错等级是最高级的H level='H', #控制纠错水平,范围是L、M、Q、H,从左到右依次升高 picture='WChat.png', #用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片 colorized=True, #可以使产生的图片由黑白(False)变为彩色(True)的 contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。 brightness=1.0, #用来调节图片的亮度,其余用法和取值与 -con 相同 save_name='test.png', #控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ; save_dir=os.getcwd() #控制位置。)Positional parameter words: strOptional parameters version: int, from 1 to 40 level: str, just one of ('L','M','Q','H') picutre: str, a filename of a image colorized: bool constrast: float brightness: float 默认输出文件名是“ qrcode.png ",而默认存储位置是当前目录 save_name: str, the output filename like 'example.png' save_dir: str, the output directory

参考资料

以上内容主要参考官方文档

这篇python二维码操作:对QRCode和MyQR入门详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章