如何用python生成二维码,python制作二维码生成识别
本文将向您展示如何通过纯Python编程开发一个web应用程序——根据输入的URL和其他文本内容生成QR码。有兴趣的可以学习一下。
00-1010 1.设置环境2。封装二维码第三代的功能。设置web应用程序。在今天的教程中,费老师将向大家展示如何通过纯Python编程开发一个web应用,从而帮助用户通过浏览器直接访问,即基于输入的URL等文本内容,快速生成常规二维码、静态底图二维码和动画底图二维码。我们先来看看应用程序主要功能的演示:
只写Python来开发这么精致的工具应用,很简单。下面我带大家了解一下从搭建环境开始的全过程:
目录
首先,让我们为应用创建一个虚拟的开发环境。建议用康达。该命令如下所示:
创建一个虚拟环境并激活它
conda create-ndash-QR-generator python=3.8-c https://mirrors . tuna . Tsinghua . edu.cn/anaconda/pkgs/free/-y
condaactivatedash-QR-生成器
安装依赖性
为了快速用纯Python开发我们的应用,我们需要安装dash和我的开源组件库feffery-antd-components。此外,我们还需要安装amazing-qr,一个二维码生成的第三方库。所有安装命令如下:
pipinstalldashfeffery-antd-componentsamzqr
所有执行完成后,我们的应用开发和运行环境就准备好了~。接下来,我们只需要在这篇文章的附件解压后,在根目录下执行pythonapp.py,然后访问这台机器的127.0.0.1:8050网站,就可以使用我们的应用程序了。
1.环境搭建
由于库amazing-qr用于生成常规二维码或自定义底图二维码,因此我们可以简单地对其进行封装,以便在应用程序中快速调用。因为amazing-qr在指定底图素材时无法设置目录,只能使用当前工作目录中的图片,所以我们需要在生成图片前将工作目录切换到素材所在的目录,生成二维码后恢复之前的工作目录:
utils.py
进口货
fromamzqrimportamzqr
frompathlibimportPath
def generate _ QR(mode : str= default ,
words:str=无,
版本: int=无,
level:str=无,
picture _ dir:str=无,
picture:str=无,
contrast:float=None,
亮度: float=无,
save_name:str=None,
save_dir:str=None):
用于控制二维码图片的生成。
:parammode:模式,可选默认(静态和运动),默认为默认。
:paramwords:要嵌入QR码的信息
:paramversion:边长,数值在1到40之间,图片越大越精细。
:paramlevel:纠错级别,可选L,M,Q,H,从左到右越大越准确
3360 Param Picture _ DIR3360底图文件的绝对路径
:parampicture:底图文件名
:paramcontrast:对比度,该值介于0和1之间
:parambrightness:亮度,该值介于0和1之间。
:参数
ave_name: 导出文件名
:param save_dir: 导出文件绝对路径
:return:
# mode: default
if mode == default:
_ = amzqr.run(
words=words,
version=version,
level=level,
save_name=save_name,
save_dir=save_dir
)
# mode: static motion
elif mode == static or mode == motion:
origin = Path().absolute()
os.chdir(Path(caches, picture_dir))
_ = amzqr.run(
words=words,
version=version,
level=level,
picture=picture,
colorized=True,
contrast=contrast,
brightness=brightness,
save_name=save_name,
save_dir=os.getcwd()
)
os.chdir(origin)
3.网页应用的搭建
在前面二维码生成函数编写完成的基础上,下面进入我们的重点——搭建网页应用,得益于dash
中构建交互式网页应用的简单性和极高的自由度(远高于streamlit
等玩具库),配合我的开源组件库框架fac
(https://github.com/CNFeffery/feffery-antd-components
)中近百种具有不同功能的组件,你可以利用它们快速构建出具有各种常见功能的网页应用。
在我们的在线二维码图片生成器中,通过顶部AntdRadioGroup()
构建的单选按钮在三种模式中进行切换,从而通过回调函数影响下面操作区所渲染出的各个表单输入类组件,如文字输入框AntdInput()
、滑动输入框AntdSlider()
、下拉选择AntdSelect()
等:
尤其是当用户切换到静态底图和动态底图模式时,由于需要用户上传提供底图素材,因此额外会渲染出图片上传组件AntdPictureUpload()
,它在静态底图模式下还具有图片缩放、裁切编辑功能,只需要一个参数editable=True
即可实现:
最后通过回调函数中不同模式下的参数组合,将后台生成并导出的二维码结果图片推送至前端利用AntdImage()
一气呵成进行交互式展示,用户即可直接右键另存为保存到本地:
本期的例子仅仅是展示了fac
能力的冰山一角,事实上只要你善于利用fac
中的不同功能组件,从在线小工具,到数据中台平台,都可以仅通过编写Python
程序轻松实现
到此这篇关于基于Python实现在线二维码生成工具的文章就介绍到这了,更多相关Python二维码生成内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。