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 二维码制作的更多相关文章

  1. 二维码制作分享-Python

    分享一个简单快捷的二维码制作,Python实现. 1.安装准备 已安装的Python+Pycharm的计算机.本人win7+Python3.6+Pycharm 2.库包下载安装 Python二维码制作 ...

  2. Python 支付宝红包二维码制作步骤分享

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 支付宝红包二维码制作步骤分享 2022. ...

  3. 如何使用二维码进行表白-一键制作二维码,gif二维码制作

    " 如何使用二维码进行表白-一键制作二维码" 二维码在我们现在生活中随处可见,因为一次突发奇想,那我们可不可以制作一个自己的二维码呢!然后让女朋友去扫描一下----嘿嘿嘿--不行, ...

  4. Python 二维码解码

    二维码解析 Python中关于二维码解析的现成模块有很多,比较著名的就是Zbar以及ZXing.然而很不幸的是,官方的版本都是支持到python2.x,下面是在python2.x的例子: import ...

  5. python二维码操作:QRCode和MyQR入门

    1.QRCode QRCode最简单的使用 import qrcode qrcode.make("第一个二维码").get_image().show() 根据文本生成二维码并且直接 ...

  6. android 二维码制作,显示到UI,并保存SD卡,拿来就能用!!

    转载请注明出处:王亟亟的大牛之路 如今二维码已经渗透了我们的生活.各种扫码关注啊.扫码下载的,今天上一个依据输入内容生成二维码的功能. 包结构: 界面截图: 功能:输入网址–>生成图片–> ...

  7. 使用hutool进行二维码制作

    2.在IDEA中使用代码块生成二维码

  8. python 二维码

    pip3 install Pillow pip3 install qrcode import qrcode text ="gisoracle我爱你呀" #input("输 ...

  9. python二维码模块(qrcode)

    qrcode模块安装 运行命令行工具(cmd),使用pip安装工具分别安装qrcode. pip install qrcode 先来个简单的例子 import qrcode # 二维码内容 data ...

随机推荐

  1. Gson:

  2. SpringBoot 指定资源文件的位置

    SpringBoot默认的存放静态资源文件的位置是在: 里面的. 注:SpringBoot中的src/main/resources/资源文件夹对应classpath:. 默认存放静态资源文件的位置,在 ...

  3. webapi添加basic认证

      BasicAbstractAuthorize:抽象类,子类中校验用户名密码,并创建Principal BasicAuthorize:实现类 //base.OnAuthorization(),此方法 ...

  4. 【oracle】ceil函数 返回值 (大于参数的最小整数)

    SELECT CEIL(15.8) FROM DUAL;==========16 SELECT CEIL(-15.8) FROM DUAL;==========-15

  5. python 面试真题

    0.Python是什么? Python是一种解释型语言.但是跟C和C的衍生语言不同,Python代码在运行之前不需要编译.其他解释型语言还包括PHP和Ruby. Python是动态类型语言,指的是在声 ...

  6. machine_math

    1.导数与函数的凹凸性关系: 从下往上看,如果函数是凸出来的就是凸函数,如果是凹的就是凹函数. 函数的凹凸性是二阶函数来判断的. 如果二阶函数大于零,那么就是凸函数,否则就是凹函数. 2.一阶导数为零 ...

  7. [LeetCode] 477. Total Hamming Distance 全部汉明距离

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  8. Linux-iostat命令

    查看TPS和吞吐量信息[oracle@oracle01 ~]$ iostatLinux 3.10.0-693.el7.x86_64 (oracle01)     07/31/2019     _x86 ...

  9. mac解决安装提示“xxx软件已损坏,打不开,您应该将它移到废纸篓”的提示

    如果没有“任何来源”选项则运行: macOS Sierra设置说明 若已安装了最新系统 macOS Sierra 则有可能出现某些安装包已损坏.显示未激活.打开崩溃等的提示!!原因是因为新系统屏蔽了任 ...

  10. SpringBoot第十二篇:整合jsp

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10953600.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   Sprin ...