本文概述
- 1.安装所需的库
- 2.创建二维码作为图像
- 3.将QRCode创建为SVG
1.安装所需的库你需要在Python中添加的第一个库是Pillow。 Python Imaging Library是Python编程语言的免费库, 它在新版本中也被称为PIL或在新版本中被称为Pillow, 它是Python编程语言的免费库, 它增加了对打开, 操作和保存许多不同图像文件格式的支持。它适用于Windows, Mac OS X和Linux。要创建QR Code, 我们将使用依赖枕头的qrcode库
你可以在终端中执行以下命令来安装此模块:
REM Required to work with imagespip install Pillow
一旦完成Pillow的安装, 你就可以继续安装QR生成器库:
REM install library to generate QR Codespip install qrcode
否则, 在没有Pillow的情况下, 使用QR Code库创建图像时会出现错误消息” ImportError:没有名为Image的模块” 。有关枕头或二维码的更多信息, 请访问其主页。
2.创建二维码作为图像创建QR码所需编写的代码非常容易理解, 非常简单。首先导入qrcode库并使用其中的QRCode方法, 然后根据需要提供参数
# Import QR Code libraryimport qrcode# Create qr code instanceqr = qrcode.QRCode(version = 1, error_correction = qrcode.constants.ERROR_CORRECT_H, box_size = 10, border = 4, )# The data that you want to storedata = "http://www.srcmini.com/The Data that you need to store in the QR Code"# Add dataqr.add_data(data)qr.make(fit=True)# Create an image from the QR Code instanceimg = qr.make_image()# Save it somewhere, change the extension as needed:# img.save("image.png")# img.save("image.bmp")# img.save("image.jpeg")img.save("image.jpg")
错误修正
QR代码具有纠错功能, 可以在代码损坏或变脏时恢复数据。该库提供四个错误纠正级别, 它们存储在qrcode.constants对象中:
- ERROR_CORRECT_L:可以纠正大约7%或更少的错误。
- ERROR_CORRECT_M :(默认)可以纠正大约15%或更少的错误。
- ERROR_CORRECT_Q:可以纠正大约25%或更少的错误。
- ERROR_CORRECT_H:可以纠正大约30%或更少的错误。
QR码大小
你可以使用box_size属性更改生成的QR码的大小。
3.将QRCode创建为SVG如果你愿意生成QRCode的SVG文件而不是图像, 则还需要安装lxml库, 因为较早的xml.etree.ElementTree版本不能用于创建SVG图像。 lxml是XML工具包, 是C库libxml2和libxslt的Pythonic绑定。它的独特之处在于它将这些库的速度和XML功能的完整性与本机Python API的简单性结合在一起, 该Python API大多数都兼容, 但优于众所周知的ElementTree API。
要使用pip安装此模块, 请在终端中运行以下命令:
pip install lxml
安装后, 你将能够为将要生成的SVG文件生成ElementTree。 SVG的生成方法可以根据你的需求而有所不同, 该库提供了三种类型的SVG, 即SVG图像, 使用片段或路径:
import qrcodeimport qrcode.image.svg# define a method to choose which factory metho to use# possible values 'basic' 'fragment' 'path'method = "basic"data = "http://www.srcmini.com/Some text that you want to store in the qrcode"if method == 'basic':# Simple factory, just a set of rects.factory = qrcode.image.svg.SvgImageelif method == 'fragment':# Fragment factory (also just a set of rects)factory = qrcode.image.svg.SvgFragmentImageelif method == 'path':# Combined path factory, fixes white space that may occur when zoomingfactory = qrcode.image.svg.SvgPathImage# Set data to qrcodeimg = qrcode.make(data, image_factory = factory)# Save svg file somewhereimg.save("qrcode.svg")
【如何在Python中创建QR Code图像或SVG】编码愉快!
推荐阅读
- 附录(基于Chrome DevTools网络面板的Web调试代理)
- 为什么要学习Python编程语言()
- 如何使用QReader库在Android中创建QR码阅读器
- 为什么Python是编程的未来()
- 如何在Python中使用PySftp访问SFTP服务器
- python基础篇(二十)——Python中的一些易混淆点总结(完结)
- 技术实践丨体验量子神经网络在自然语言处理中的应用
- 我去!爬虫遇到JS逆向AES加密反爬,哭了
- #导入MD文档图片#超好玩的Python3工具--利用OpenCV视频转字符动画