失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python—生成带logo的二维码(零基础向)

python—生成带logo的二维码(零基础向)

时间:2020-03-25 02:18:00

相关推荐

python—生成带logo的二维码(零基础向)

在python 中可以用qrcode 库将文本、图片、视频链接等生成二维码,并用图片处理库PIL 中的Image 方法添加自定义图片,制作带有logo的二维码。本文以Windows 系统为例进行演示。

有基础的同学请跳过前三章,直接查看二维码生成代码

文章目录

一、安装python二、安装所需库三、运行python 程序四、二维码生成1、简易基础二维码2、可设置参数二维码3、带有logo的二维码

一、安装python

首先安装python,这里建议使用Anaconda,一个开源的python 版本。Anaconda两个版本一个是适用python2 的Anaconda2,一个是适用python3 的Anaconda3,python2 已经停止更新,零基础建议从python3 开始学习。

官网下载很慢而且容易出错,推荐从清华镜像网站下载自己需要的版本

https://mirrors.tuna./anaconda/archive/

网上已经有Anaconda 安装的详细教程可供参考

如Windows 系统:

/win8jc/win8_44358.html

其他系统:

/p/32925500

二、安装所需库

1、Win+R键可以打开运行符,输入cmd 回车进入系统命令行

2、系统命令行执行:

pip install qrcode

pip install Image

三、运行python 程序

1、直接在python 自带的开发工具中执行命令

系统命令行输入python,进入python 命令行。输入python 命令回车运行:

2、将程序保存为.py 结尾的python 文件,进入文件所在的目录,在系统命令行输入

python 文件名称

(这里编写代码使用的文本编辑器是Sublime Text)

3、使用Jupyter Notebook 或PyCharm 等调试执行代码

前面下载了anaconda 带有Jupyter Notebook,这里直接演示Jupyter Notebook

1)在系统命令行输入Jupyter Notebook,会自动跳转到网页,若未自动跳转复制粘贴以下链接手动跳转

2)创建python3 笔记本

3)编辑模式—在单元格中输入命令,Alt+回车执行

4)快捷键查看

命令行模式—点击Esc键后再点击H,可以查看快捷键

四、二维码生成

1、简易基础二维码

# 导入qrcode包import qrcode# 要生成二维码的视频链接地址,或直接写字符串扫码显示文字等img = qrcode.make('/bangumi/play/ss5761?spm_id_from=333.999.0.0')# 生成的二维码保存地址及名称img.save('E:/bilibili_bkm.png')# 在窗口展示二维码img.show()

效果如下图:

2、可设置参数二维码

# 导入qrcode包import qrcode# 要生成二维码的视频链接地址data = '/bangumi/play/ss5761?spm_id_from=333.999.0.0'# 生成的二维码保存地址及名称img_file = 'E:/bilibili_bkm1.png'# 实例化QRCode生成qr对象qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=4)# 向二维码中添加信息qr.add_data(data)# 当fit参数为真或者没有给出version参数时,调用best_fit方法来找到适合数据的最小尺寸qr.make(fit=True)# 生成二维码img = qr.make_image()# 保存二维码img.save(img_file)# 展示二维码img.show()

version:控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21。

取值为None或者使用fit=true参数时,二维码会自动调整大小。

error_correction:控制二维码纠错级别。

ERROR_CORRECT_L:大约7%或者更少的错误会被更正。

ERROR_CORRECT_M:默认值,大约15%或者更少的错误会被更正。

ERROR_CORRECT_Q:大约25%或者更少的错误会被更正。

ERROR_CORRECT_H:大约30%或者更少的错误会被更正。

box_size:控制二维码中每个格子的像素数,默认为 10。

border:控制二维码四周留白包含的格子数,默认为4。

3、带有logo的二维码

from PIL import Imageimport qrcode# 要生成二维码的视频链接地址data = '/bangumi/play/ss5761?spm_id_from=333.999.0.0'# 生成的二维码保存地址及名称img_file = 'E:/bilibili_bkm2.png'# logo图片所在位置logo_file = 'E:/pikaqiu.jpeg'# 实例化QRCode生成qr对象qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=4)# 向二维码中添加信息qr.add_data(data)# 当fit参数为真或者没有给出version参数时,调用best_fit方法来找到适合数据的最小尺寸qr.make(fit=True)# 将实例转换成图片并设置为彩色img = qr.make_image()img = img.convert('RGBA')# 获取二维码图片的宽高img_w,img_h = img.size# 打开logo图片logo = Image.open(logo_file)# 获取logo图片的宽高logo_w,logo_h = logo.size# 设置logo的大小最大为二维码大小的四分之一factor = 4size_w = int(img_w/factor)size_h = int(img_h/factor)if logo_w > size_w or logo_h > size_h:logo_w = size_wlogo_h = size_h# 重新调整logo的尺寸,高质量彩色logo = logo.resize((logo_w,logo_h),Image.ANTIALIAS).convert('RGBA')# 设置logo的位置,在二维码图片的中心l_w = int((img_w-logo_w)/2)l_h = int((img_h-logo_h)/2)# 将logo粘贴到二维码上img.paste(logo,(l_w,l_h),logo)# 保存二维码img.save(img_file)# 展示二维码img.show()

效果如下图:

进入保存图片的文件夹,可以看到生成的二维码图片

如果觉得《python—生成带logo的二维码(零基础向)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。