分享Python文本生成二维码实例
作者:酷小孩 发布时间:2023-12-16 09:42:28
标签:Python,文本,QRCode,二维码
本文实例分享了Python文本生成二维码的详细代码,供大家参考,具体内容如下
测试一:将文本生成白底黑字的二维码图片
测试二:将文本生成带logo的二维码图片
#coding:utf-8
'''
Python生成二维码 v1.0
主要将文本生成二维码图片
测试一:将文本生成白底黑字的二维码图片
测试二:将文本生成带logo的二维码图片
'''
__author__ = 'Xue'
import qrcode
from PIL import Image
import os
#生成二维码图片
def make_qr(str,save):
qr=qrcode.QRCode(
version=4, #生成二维码尺寸的大小 1-40 1:21*21(21+(n-1)*4)
error_correction=qrcode.constants.ERROR_CORRECT_M, #L:7% M:15% Q:25% H:30%
box_size=10, #每个格子的像素大小
border=2, #边框的格子宽度大小
)
qr.add_data(str)
qr.make(fit=True)
img=qr.make_image()
img.save(save)
#生成带logo的二维码图片
def make_logo_qr(str,logo,save):
#参数配置
qr=qrcode.QRCode(
version=4,
error_correction=qrcode.constants.ERROR_CORRECT_Q,
box_size=8,
border=2
)
#添加转换内容
qr.add_data(str)
#
qr.make(fit=True)
#生成二维码
img=qr.make_image()
#
img=img.convert("RGBA")
#添加logo
if logo and os.path.exists(logo):
icon=Image.open(logo)
#获取二维码图片的大小
img_w,img_h=img.size
factor=4
size_w=int(img_w/factor)
size_h=int(img_h/factor)
#logo图片的大小不能超过二维码图片的1/4
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)
#计算logo在二维码图中的位置
w=int((img_w-icon_w)/2)
h=int((img_h-icon_h)/2)
icon=icon.convert("RGBA")
img.paste(icon,(w,h),icon)
#保存处理后图片
img.save(save)
if __name__=='__main__':
save_path='theqrcode.png' #生成后的保存文件
logo='logo.jpg' #logo图片
str=raw_input('请输入要生成二维码的文本内容:')
#make_qr(str)
make_logo_qr(str,logo,save_path)
那Python使用QRCode模块如何生成二维码?
1、简介
python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。
2、简单用法
import qrcode
img = qrcode.make('hello, qrcode')
img.save('test.png')
3、高级用法
import qrcode
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data('hello, qrcode')
qr.make(fit=True)
img = qr.make_image()
img.save('123.png')
4、参数含义:
version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。
error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
ROR_CORRECT_H:大约30%或更少的错误能被纠正。
box_size:控制二维码中每个小格子包含的像素数。
border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)
希望本文所述对大家学习Python程序设计有所帮助。


猜你喜欢
- 前言数据库索引是mysql数据库中重要的组成部分,是数据库查询数据速度提升的关键,本文将介绍数据库索引的一些内容。数据库索引的数据结构在数据
- 一、概述机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得其中各算法理论,叫你喊上一两个著名算法的名字,你也能昂首
- 最近无意中接触到了一篇文章,里面写了一个SQL的用法,是with...as,中午抽空记录一下用MySQL试了一下,发现并不支持该语法(版本:
- python异步IO初探探索异步IO执之前,先说说IO的种类1.阻塞IO最简单,即读写数据时,需要等待操作完成,才能继续执行。进阶的做法就是
- 除了3天就会失效的临时素材外,开发者有时需要永久保存一些素材,届时就可以通过本接口新增永久素材。最近更新,永久图片素材新增后,将带有URL返
- 实现简单的多线程下载,需要关注如下几点:1.文件的大小:可以从reponse header中提取,如“Content-Length:911”
- 前言看Python代码时,碰见 numpy.transpose 用于高维数组时挺让人费解,通过一番画图分析和代码验证,发现 transpos
- 前言go 当中的并发编程是通过goroutine来实现的,利用channel(管道)可以在协程之间传递数据,实现协程的协调与同步。使用新建一
- MySQL Group By用法我们现在回到函数上。记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是
- 自己搭建后台网站,需求:实现类似django Admin站点对每一张表的增删改查权限控制。实现步骤:1.权限控制Django框架已自带,共6
- 浏览器的具体功能都储存在服务器端的Browscap.ini中:<% SET
- 高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https:
- 如何存放或更新缓存?缓存数据来源是预知的,我们可以预先定义哪些 mutation 是缓存相关的。我们期望这个过程更自然一点,通过某种变化自动
- 一、项目需求前言:BBS上每个id对应一个用户,他们注册时候会填写性别(男、女、保密三选一)。经过检查,BBS注册用户的id对应1-3000
- 使用pip安装Django时报错,先是:C:\Users\admin>pip install django Collecting dj
- 这是《python基础教程》中的第二个项目,关于python操作PDF。涉及到的知识点1、urllib的使用2、reportlab库的使用这
- 前言:这里再回顾一下函数的local空间,首先我们往global空间添加一个键值对相当于定义一个全局变量,那么如果往函数的local空间里面
- 通过学习斯坦福公开课的线性规划和梯度下降,参考他人代码自己做了测试,写了个类以后有时间再去扩展,代码注释以后再加,作业好多:import n
- 之前用 copy 不多,本以为它是个很方便的函数,没想到在做练习题时竟还是被它坑了。是我对他期望太多了。func copy(dst, src
- 武器档案名称:firebug最新版本:1.7用途:前端调试器必备指数:使用难度:firebug是前端最具盛名的调试器,功能非常强悍。fire