1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。

首先,我们要安装三个模块,qrcode,image,PIL。

pip install qrcode

pip install image

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

在Debian/Ubuntu Linux下直接通过apt安装:

$ sudo apt-get install python-imaging

Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:

$ sudo easy_install PIL

如果安装失败,根据提示先把缺失的包(比如openjpeg)装上。

Windows平台就去PIL官方网站下载exe安装包。

2.简单用法

import qrcode

img = qrcode.make('simpleqrcode')

img.save('D:/simpleqrcode.jpg')

#img.show()

3.高级用法

import qrcode

qr=qrcode.QRCode(version = 2,error_correction = qrcode.constants.ERROR_CORRECT_L,box_size=10,border=10,)

qr.add_data('http://www.cnblogs.com/sfnz/')

qr.make(fit=True)

img = qr.make_image()

img.show()

#img.save('D:/test.jpg')

4.带有logo图案的二维码

from PIL import Image

import qrcode

qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=4)

qr.add_data("http://www.cnblogs.com/sfnz/")

qr.make(fit=True)

img = qr.make_image()

img = img.convert("RGBA")

#logo="D:/favicon.jpg"

icon = Image.open("D:/favicon.jpg")

img_w,img_h = img.size

factor = 4

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

icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)

w = int((img_w - icon_w)/2)

h = int((img_h - icon_h)/2)

icon = icon.convert("RGBA")

img.paste(icon,(w,h),icon)

#img.show()

img.save('D:/createlogo.jpg')

参数含义:

version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。

error_correction:控制二维码的错误纠正功能。可取值下列4个常量。

ERROR_CORRECT_L:大约7%或更少的错误能被纠正。

ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。

ROR_CORRECT_H:大约30%或更少的错误能被纠正。

box_size:控制二维码中每个小格子包含的像素数。

border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)。

img.save:是将生成二维码图片保存到哪里。

参考文档:

http://www.xuchanggang.cn/archives/1069.html

http://www.cnblogs.com/linjiqin/p/4140455.html

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000

官网及参考手册

http://pythonware.com/products/pil/

http://effbot.org/imagingbook/

python生成二维码_使用python生成二维码相关推荐

  1. python api文档生成二维码_使用Python第三方库生成二维码

    本文主要介绍两个可用于生成二维码的Python第三方库:MyQR和qrcode. MyQR的使用: 安装: pip install MyQR 导入: from MyQR import myqr imp ...

  2. python myqr制作二维码生成器_用Python生成动态二维码,只要5行代码,拥有你的个性二维码!...

    原标题:用Python生成动态二维码,只要5行代码,拥有你的个性二维码! 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. P ...

  3. python生成二维码_用python生成二维码

    python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码. MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码.带图片的艺术二维码,也可以生成动态二维码 ...

  4. 跳一跳python源码_使用Python实现跳一跳自动跳跃功能

    使用Python实现跳一跳自动跳跃功能 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  使用Python实现跳一跳自动跳跃功能.txt ] (友情提示:右键点上行 ...

  5. python绝对值函数偏码_绝对值python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 试图建立关分拣python字典,我将如何去打印基于该值的绝对值排序顺序pytho ...

  6. python利用什么写模板_利用python自动生成verilog模块例化模板

    一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受"利奇马"的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口 ...

  7. python手工打码_使用Python + Selenium破解滑块验证码

    在前面一篇博客,介绍了 Selenium 的基本用法和爬虫开发过程中经常使用的一些小技巧,利用这些写出一个浏览器爬虫已经完全没有问题了.看了前一篇博客,可能有人会有疑惑,浏览器爬虫的优势感觉并不比传统 ...

  8. python编译器源码_编译python源码

    广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 尝试通过源码自己编译 python,使用的系统是 ubuntu14.04 l ...

  9. python内存管理和释放_《python解释器源码剖析》第17章--python的内存管理与垃圾回收...

    17.0 序 内存管理,对于python这样的动态语言是至关重要的一部分,它在很大程度上决定了python的执行效率,因为在python的运行中会创建和销毁大量的对象,这些都设计内存的管理.同理pyt ...

  10. python大数据运维库_大数据集群运维(10)Pycharm下安装模块

    方法一:使用Pycharm的终端安装 一.网络爬虫 1.安装requests包 作用:简洁且简单的处理HTTP请求的第三方库 pip install requests 2.安装scrapy包 作用:快 ...

最新文章

  1. Redis RDB 持久化详解
  2. 计算机类|期刊】SCI期刊专刊截稿信息4条
  3. 【DIY】(开发板不吃灰运动)CC3200LaunchPad改装红外温度计
  4. 3-12形参和实参 局部变量
  5. PHP中file_exists与is_file、is_dir的区别,以及执行效率的比较
  6. TensorFlow tf.keras.layers.Permute
  7. 【CSP】第20届CCF CSP计算机软件能力认证划水贴
  8. java电子书很好的下载网站收藏
  9. php 在线调用音乐播放器,使用HTML5实现网页音乐播放器
  10. 经纬财富:徐州炒白银需要注意哪些技术指标
  11. STM32F103_study43_The punctual atoms(STM32 Echo experiment based on serial communication )
  12. 0xFEFEFEFE 处有未经处理的异常(在xx中): 0xC00001A5: 检测到无效的异常处理程序例程。
  13. 【GIT】git cz配置使用方法
  14. 华为云电脑+teamviewer ssh实现手机远程操控服务器
  15. 阿里 前端 规范_阿里前端开发规范
  16. Text-detector 一个用来检测文本内容行数和字数的Mini工具
  17. POWERLNK协议笔记
  18. python笔记-数组
  19. Docker系列(二十四)——Docker实例六Docker安装Redis实例
  20. DeepMind星际争霸2开源机器学习平台

热门文章

  1. 信息学奥赛一本通 1098:质因数分解 | 1957:【12NOIP普及组】质因数分解 | OpenJudge NOI 1.5 43 | 洛谷 P1075 [NOIP2012 普及组] 质因数分解
  2. c语言--余数正负判断,printf函数占位符
  3. 微会动创始人袁帅:什么是二维码会议服务?
  4. android wifi声波连接,声波配网连接wifi(ssid和pwd)
  5. Android 内置第三方app
  6. 《Node.js开发指南》MicroBlog项目的问题汇总
  7. 云原生可观测性平台-云监控
  8. 计算机术语access,计算机英语词汇术语:access(存取,访问)
  9. Python批量提取Excel文件中文本框组件里的文本
  10. java-锁_自我理解