python二维码_Python 二维码制作
Python 二维码制作
先介绍python 二维码制作的第三方库
QRCode 、MyQR
QRCode 生成这个二维码只用三行
importqrcode
img= qrcode.make('hello qrcode !')
img.save('test.png')
安装导入QRCode
pip install qrcode
QRCode 多种自定义方法
mport qrcode
text= input("输入文字或URL:") #设置URL必须添加http://
img =qrcode.make(text)
img.save()#保存图片至本地目录,可以设定路径
img.show()
生成添加logo的二维码
defgetQRcode(strs, name):
qr=qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=2,
)#添加数据
qr.add_data(strs)#填充数据
qr.make(fit=True)#生成图片
img = qr.make_image(fill_color="blue", back_color="white")
img= img.convert("RGBA") #RGBA
#添加logo
icon = Image.open("321.png")#获取图片的宽高
img_w, img_h =img.size
factor= 6size_w= int(img_w /factor)
size_h= int(img_h /factor)
icon_w, icon_h=icon.sizeif icon_w >size_w:
icon_w=size_wif icon_h >size_h:
icon_h=size_h#重新设置logo的尺寸
icon =icon.resize((icon_w, icon_h), Image.ANTIALIAS)print(icon)
w= int((img_w - icon_w) / 2)
h= int((img_h - icon_h) / 2)
img.paste(icon, (w, h), icon)#显示图片
plt.imshow(img)
plt.show()
img.save(name)returnimgif __name__ == '__main__':
getQRcode("https://music.163.com/song?id=36990266&userid=112961323", '01.png')
执行代码 程序报错
Traceback (most recent call last):
File"/Users/yyj/HelloBike/Bi_Test/demo/py_qrcode.py", line 96, in getQRcode("https://music.163.com/song?id=36990266&userid=112961323", '01.png')
File"/Users/yyj/HelloBike/Bi_Test/demo/py_qrcode.py", line 80, ingetQRcode
img.paste(icon, (w, h), icon)
File"/Users/yyj/anaconda3/envs/Adil/lib/python3.7/site-packages/PIL/Image.py", line 1470, inpaste
self.im.paste(im, box, mask.im)
ValueError: bad transparency mask
问题分析:
#添加logo
icon = Image.open("321.png")
因为我使用的图片格式 第一次使用了 jpg 后来我自己修改后缀为321.png导致,使用真正的png 图即可。
原图如右
结果如右
MyQR 生成动态二维码
defgakki_code():
version, level, qr_name=myqr.run(
words="http://labfile.oss.aliyuncs.com/courses/1126/Sources.zip", #可以是字符串,也可以是网址(前面要加http(s)://)
version=1, #设置容错率为最高
level='H', #控制纠错水平,范围是L、M、Q、H,从左到右依次升高
picture="gakki.gif", #将二维码和图片合成
colorized=True, #彩色二维码
contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
brightness=1.0, #用来调节图片的亮度,其余用法和取值同上
save_name="gakki_code.gif", #保存文件的名字,格式可以是jpg,png,bmp,gif
save_dir=os.getcwd() #控制位置
)
下面我们来详细的讲解一下 myqr.run() 函数里面的参数
python二维码_Python 二维码制作相关推荐
- python 二维列表_python二维列表
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 方法一:使用 lambda 关键词辅助对二维列表进行排序,lambda的使用方法 ...
- python用语句输入一个3*3的二维矩阵_python中二维数组的建立,输入和输出
''' for循环: for i in range(x,y,dir): pass 首先这个区间是左闭右开 其次dir在省略的情况下默认为1,就是每次加一,也可以指定 python的数组: python ...
- [转载] pythonjson构建二维数组_python二维键值数组生成转json的例子
参考链接: python json 10: Datetime与json的相互转化 python二维键值数组生成转json的例子 今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符 ...
- python解析二维码_Python二维码生成识别实例详解
前言 在 JavaWeb 开发中,一般使用 Zxing 来生成和识别二维码,但是,Zxing 的识别有点差强人意,不少相对模糊的二维码识别率很低.不过就最新版本的测试来说,识别率有了现显著提高. 对比 ...
- python做动画视频教程_Python+Kepler.gl轻松制作酷炫路径动画的实现示例
1. 简介 Kepler.gl相信很多人都听说过,作为Uber几年前开源的交互式地理信息可视化工具,kepler.gl依托WebGL强大的图形渲染能力,可以在浏览器端以多种形式轻松展示大规模数据集. ...
- python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...
- python顺序表转置_Python:二维列表下标互换方式(矩阵转置)
Python:二维列表下标互换方式(矩阵转置) 发布时间:2020-08-20 04:13:38
- python中二维数组_Python二维数组实际应用方法浅析
Python数组的应用中在实际编程中是一个非常重要的应用技术,作为Python编程人员来说,必须要熟练的掌握这方面的所有应用技巧.那么,接下来,我们将会通过对Python二维数组的理解来为大家解读这方 ...
- python图像数据是几维数据_Python二维数据分析
一.numpy二维数组 1.声明 1 importnumpy as np2 3 #每一个[]代表一行 4 ridership =np.array([5 [ 0, 0, 2, 5, 0],6 [1478 ...
- python输入二维数组_python 二维数组键盘输入
原博文 2018-09-09 15:40 − 1 m = int(input()) 2 grid = [[] for i in range(m)] 3 for i in range(m): 4 lin ...
最新文章
- 【HDOJ】4333 Revolving Digits
- python 矩形补正方形
- 安装Ubuntu时,遇到自定义交换空间swap大小设置问题
- SEO配置信息操作文档
- linux ftp非隔离模式,FTP实验报告非隔离用户的使用教案.doc
- 51 nod 1624 取余最长路 思路:前缀和 + STL(set)二分查找
- python类与函数编程_Python类三种方法,函数传参,类与实例变量(一)详解
- VBS脚本获取安全标识符SID(Security Identifiers)的方法
- 我们已经不用AOP做操作日志了! | 原力计划
- C语言 二维数组行数和列数计算 - C语言零基础入门教程
- 程序设计与算法----递归之爬楼梯问题
- 两个三维向量叉积_线性代数的本质08 叉积
- swoole 启动流程_Swoole 启动一个服务,开启了哪些进程和线程?
- AR 圈最大收购案 Ubimax 10 亿“卖身”背后:究竟什么才是真正值钱的东西?
- 【数据结构和算法笔记】线性表的查找(平均查找长度,二分法,判定树)
- java变量-是否区分大小写?
- opengl 保留上一帧_历史上第一部长片动画,还真有点重口
- FileZilla Client 3.26.1 发布,FTP 解决方案
- 计算机管理中其它设备问号,Win10设备管理器中设备上有白色问号如何解决
- debian9.12的硬盘安装过程一