使用的是qrcode库,在使用之前需要安装此库
pip install qrcode
网址
import qrcode
img=qrcode.make("http://baidu.com")
img.save("二维码.jpg")
文字
import qrcode
jpg=qrcode.make("这只是一段文字")
jpg.save("文字.jpg")
设置颜色
import qrcode
"""
version :QR code 的版次,可以设置 1 ~ 40 的版次。
error_correction :容错率,可选 7%、15%、25%、30%,参数如下 :
qrcode.constants.ERROR_CORRECT_L :7%
qrcode.constants.ERROR_CORRECT_M :15%(预设)
qrcode.constants.ERROR_CORRECT_Q :25%
qrcode.constants.ERROR_CORRECT_H :30%
box_size :每个模块的像素个数。
border :边框区的厚度,预设是 4。
image_factory :图片格式,默认是 PIL。
mask_pattern :mask_pattern 参数是 0 ~ 7,如果省略会自行使用最适当的方法。
"""
qr = qrcode.QRCode(version=1,
error_correction=qrcode.constants.ERROR_CORRECT_M,
box_size=10,
border=4)
qr.add_data("测试文字")
img=qr.make_image(fill_color='blue',back_color="yellow")
img.save("二维码.jpg")
img.show()
实现效果如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/59940f6741dc4ce8b90614b6b130427e.png)
在二维码上添加一张图片
import qrcode
from PIL import Image
import matplotlib.pyplot as plt
def getQRcode(data, file_name):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=5,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="green", back_color="white")
icon = Image.open("django.jpg")
img_w, img_h = img.size
factor = 6
size_w = int(img_w / factor)
size_h = int(img_h / factor)
icon_w, icon_h = icon.size
if icon_w > size_w:
icon_w = size_w
if icon_h > size_h:
icon_h = size_h
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
img.paste(icon, (w, h), mask=None)
plt.imshow(img)
plt.show()
img.save(file_name)
return img
if __name__ == '__main__':
getQRcode("http://baidu.com", 'my.png')
实现效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1fd983a03d017bf75893074c24e740d8.png)
使用MyQR库生成动态二维码
pip install myqr
from MyQR import myqr
myqr.run(words='http://www.baidu.com',
picture='bg.gif',
save_name='qr1.gif',
colorized=True)
实现效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/914102768d1530ecc1dc9edd7da8f802.png)