Python 二维码制作
Python 二维码制作
先介绍python 二维码制作的第三方库
QRCode 、MyQR
QRCode 生成这个二维码只用三行
import qrcode
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的二维码
def getQRcode(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 = 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
# 重新设置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)
return img if __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 <module>
getQRcode("https://music.163.com/song?id=36990266&userid=112961323", '01.png')
File "/Users/yyj/HelloBike/Bi_Test/demo/py_qrcode.py", line 80, in getQRcode
img.paste(icon, (w, h), icon)
File "/Users/yyj/anaconda3/envs/Adil/lib/python3.7/site-packages/PIL/Image.py", line 1470, in paste
self.im.paste(im, box, mask.im)
ValueError: bad transparency mask
问题分析:
# 添加logo
icon = Image.open("321.png")
因为我使用的图片格式 第一次使用了 jpg 后来我自己修改后缀为321.png导致,使用真正的png 图即可。
原图如右
结果如右
MyQR 生成动态二维码
def gakki_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实现. 1.安装准备 已安装的Python+Pycharm的计算机.本人win7+Python3.6+Pycharm 2.库包下载安装 Python二维码制作 ...
- Python 支付宝红包二维码制作步骤分享
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 支付宝红包二维码制作步骤分享 2022. ...
- 如何使用二维码进行表白-一键制作二维码,gif二维码制作
" 如何使用二维码进行表白-一键制作二维码" 二维码在我们现在生活中随处可见,因为一次突发奇想,那我们可不可以制作一个自己的二维码呢!然后让女朋友去扫描一下----嘿嘿嘿--不行, ...
- Python 二维码解码
二维码解析 Python中关于二维码解析的现成模块有很多,比较著名的就是Zbar以及ZXing.然而很不幸的是,官方的版本都是支持到python2.x,下面是在python2.x的例子: import ...
- python二维码操作:QRCode和MyQR入门
1.QRCode QRCode最简单的使用 import qrcode qrcode.make("第一个二维码").get_image().show() 根据文本生成二维码并且直接 ...
- android 二维码制作,显示到UI,并保存SD卡,拿来就能用!!
转载请注明出处:王亟亟的大牛之路 如今二维码已经渗透了我们的生活.各种扫码关注啊.扫码下载的,今天上一个依据输入内容生成二维码的功能. 包结构: 界面截图: 功能:输入网址–>生成图片–> ...
- 使用hutool进行二维码制作
2.在IDEA中使用代码块生成二维码
- python 二维码
pip3 install Pillow pip3 install qrcode import qrcode text ="gisoracle我爱你呀" #input("输 ...
- python二维码模块(qrcode)
qrcode模块安装 运行命令行工具(cmd),使用pip安装工具分别安装qrcode. pip install qrcode 先来个简单的例子 import qrcode # 二维码内容 data ...
随机推荐
- 以opencv320和vs2013为例说明 vs路径配置方法
=========================================== 新方法 ======================= 新方法的配置过程,路径之类的设置都是一样. 区别在于,在 ...
- eclipse集成maven(四)
一.配置maven 打开Window-Preference-Maven,我们可以看到,默认是使用Eclipse的,不是我们要的maven,可以在Installations中,点击"Add&q ...
- 显示隐藏文件.reg
显示隐藏文件.reg Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren ...
- 树形DP(超详细!!!)
一.概念 1.什么是树型动态规划 树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺 ...
- java --后缀符号
public class Sample { public static void main(String[] args) { , num2 = ; num1--; System.out.println ...
- bower安装教程
进入node.js官网下载相应操作系统的安装文件http://www.nodejs.org/download/ ,windows环境下载msi文件即可 打开下载的文件,一直点击下一步,完成安装 安装完 ...
- SpringCloud Feign 参数问题
今天遇到使用Feign调用微服务,传递参数时遇到几个问题 1.无参数 以GET方式请求 服务提供者 @RequestMapping("/hello") public String ...
- 零次学习(Zero-Shot Learning)入门(转)
很久没有更文章了,主要是没有找到zero-shot learning(ZSL)方面我特别想要分享的文章,且中间有一段时间在考虑要不要继续做这个题目,再加上我懒 (¬_¬),所以一直拖到了现在. 最近科 ...
- vue需求表单有单位(时分秒千克等等)
需求如下: 问题分析: 因为用elementui组件 el-input 相当于块级元素,后面的单位<span>分</span>会被挤下去,无法在同一水平. 解决方法: 不用它的 ...
- Prometheus 与 Alertmanager 通信
Prometheus 与 Alertmanager 通信 1.编辑Prometheus配置文件配置连接地址:vim prometheus.yml # Alertmanager configuratio ...