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

yipeiwu_com5年前Python基础

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 Image
import 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 myqr
import os
myqr.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: str
Optional 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入门详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

查看Python安装路径以及安装包路径小技巧

特别是linux系统,装了多个python,有时候找不到python的绝对路径,有时候装了个django,又找不到django安装到哪里了。。当然查看的方法有很多种,这里列出几种,供没有...

Django unittest 设置跳过某些case的方法

按理说unittest 中是不应该测试那种外部依赖很强的用例,但是呢,有时候有些接口总是调试好之后怕忘了,就写了一些简单的测试case,想要通过在settings中增加一些配置来开启和关...

python sklearn常用分类算法模型的调用

本文实例为大家分享了python sklearn分类算法模型调用的具体代码,供大家参考,具体内容如下 实现对'NB', 'KNN', 'LR', 'RF',...

Python实现对字符串的加密解密方法示例

本文实例讲述了Python实现对字符串的加密解密方法。分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢...

详解Python自建logging模块

简单使用 最开始,我们用最短的代码体验一下logging的基本功能。 import logging logger = logging.getLogger() logging.basi...