一、前言

常见的二维码为QR CodeCode,QR全称是Quick Response,是一个近几年来移动设备上超流行的一种编码方式。它的结构如下:


主要有以下特点:

  1. 符号规格从版本1(21×21)到版本40(177×177),每提高一个版本,每边增加 4 个码元(即指构成 QR 码的方形黑白点)
  2. 信息容量大:能存储 7089 个数字字符或 4296 个字母字符或 2953 个 8 位字节字符或 1817 汉字字符
  3. 纠错能力强:即使部分编码变脏或破损,也可以恢复数据。L级约可纠错 7% 的数据码字,M级约可纠错 15% 的数据码字,Q级约可纠错25%的数据码字,H级约可纠错 30% 的数据码字
  4. 可以从任意方向读取:QR码可以从 360° 任一方向均可快速读取。通过 QR 码中的三处定位图案,可以帮助 QR 码不受背景样式的影响,实现快速稳定的读取

二、MyQR

Python中有一个非常有趣好玩的库MyQR,不仅可以制作各种漂亮的二维码,还可以生成动态彩色二维码。

MyQR可以生成常见的二维码、艺术二维码(黑白或彩色),动态二维码(黑白或彩色)

1.效果如图:

2.实现步骤

第一步要安装MyQR库

安装MyQR库,直接用pip3 install myqr(or MyQR)。需要注意的是MyQR依赖于Python3,在Python2的环境下可能无法正常运行。

pip install MyQR -i http://pypi.douban.com/simple --trusted-hostpypi.douban.com


这个库提供了两种使用方法,一种是直接使用命令行的方式,另外一种使用import引入,可以设置更多个性化设置。

第二步参考代码

from MyQR import myqr
import osversion, level, qr_name = myqr.run(words="https://www.baidu.com",     # 可以是字符串,也可以是网址(前面要加http(s)://)version=1,               # 设置容错率为最高level='H',               # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高picture="123.gif",              # 将二维码和图片合成colorized=True,             # 彩色二维码contrast=1.0,              #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0brightness=1.0,             #用来调节图片的亮度,其余用法和取值同上save_name="3.gif",           # 保存文件的名字,格式可以是jpg,png,bmp,gifsave_dir=os.getcwd()          #控制位置
)

大家直接copy代码更改参数即可使用,注意图片的路径最好和Pytho文件放一起,防止路径不对,如图:

在Pycharm中看gif图不会动,可以到文件夹里面看

给大家一个动图试试手

MyQR确实是挺好用的,唯一的缺点就是,不支持中文!!!它只支持以下字符:

  1. 数字 0 到 9
  2. 大小写的英文字母
  3. 常用英文标点符号和空格

到这里结束了,更多有关Python精彩内容可以关注小编看小编主页。

【基础入门详解】程序员的二维码也要玩出不同色彩,用Python生成动态彩色二维码相关推荐

  1. 用Python创建动态彩色二维码

      平常我们看到的二维码都是黑白两种颜色,且形状不太好看.本文会教大家把你的文件链接变成漂亮的二维码,微信扫一扫二维码就可以进入你的文件,以下是Python中的处理步骤. 1. 下载库   在Anac ...

  2. C++基础入门《黑马程序员》

    C++基础入门 0 前言  1.配套学习视频:https://www.bilibili.com/video/BV1et411b73Z  2.修复了图片问题和MD笔记显示问题,补充了一些知识  3.课程 ...

  3. Docker基础入门详解

    一.产生背景 在传统软件开发流程中,研发程序员将功能代码研发完成后,交由测试人员进行测试,最后通过运维人员部署上线.但是在这个过程中,常常因为环境问题.配置问题.软件版本问题等等诸多因素,造成一些问题 ...

  4. 【世界上最好用的编程语言】PHP基础入门详解

    简介 PHP(超文本预处器)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C.Java.Perl以及PHP自 ...

  5. 详解程序员驻场开发服务的具体流程

    近年来,随着大数据.云计算等高科技技术的高速发展,越来越多的企业为了提高市场竞争力都会有软件开发的需求.有些企业会选择全部招聘自己的软件人才进行项目开发,而有的企业为了控制人力成本.灵活发展公司业务, ...

  6. python文件输入符_python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)...

    一.变量和表达式 >>> 1 + 1 2 >>> print 'hello world' hello world >>> x = 1 >&g ...

  7. python循环控制语句将数值转化成字符串_python基础入门详解(文件输入/输出内建类型字典操作使用方法)...

    f=open("foo.txt") line=f.readline() while line: print line, line=f.readline() #读取一行,包括换行符' ...

  8. Gradle安装部署与基础入门详解

    [1]Gradle简介 Gradle 是一款Google 推出的基于JVM.通用灵活的项目构建工具,支持Maven,JCenter 多种第三方仓库;支持传递性依赖管理.废弃了繁杂的xml 文件,转而使 ...

  9. 编程语言的各种类型详解 - 程序员小知识1

    编程语言的分类 强类型定义语言 弱类型定义语言 动态类型语言 静态类型语言 编译型语言 解释型语言 脚本语言 分类 定义 举例 强类型定义语言 强类型定义语言又称强类型语言,强类型语言要求变量严格符合 ...

最新文章

  1. chrome json插件_如何使用此免费的Chrome扩展程序(或Firefox插件)获取易于阅读的JSON树
  2. iOS开发中@property的属性weak nonatomic strong readonly等介绍
  3. 【解决问题】useBean类属性[com.cheng.pojo.People]的值无效导致HTTP500问题
  4. YMP框架学习笔记(二)------基于YMP框架搭建WEB应用程序
  5. 13个你必须知道的JS数组技巧
  6. 整合Spring Cloud微服务分布式云架构技术点
  7. tomcat基础应用详解
  8. AMD 和 CMD 的区别有哪些?
  9. stm32数据手册boot_stm32f103中文手册.pdf
  10. 熟悉Linux基本操作
  11. Linux版主机卫士安装使用
  12. 关于TI、海思(Hisilicon)、安霸(Ambarella)三家的百万高清方案的简单比较
  13. SQL REGEXP_SUBSTR的用法
  14. IPFS发展前景真有说的那么好么?
  15. Android 怎么防止多并发请求?比如说一个页面需要请求多个接口,可以跟后台网络交互能做哪些性能优化
  16. 【消息中间件MQ分享】
  17. 卖罐头(冬季每日一题 32)
  18. 计算机网络技术职业现状分析,师范专科学校计算机网络技术专业现状与应对措施.doc...
  19. 谈一谈打造高效能技术团队的七个方法
  20. 汉江大桥上的监控 AI,挽救自杀者的生命

热门文章

  1. mysql-MDL元数据锁
  2. linux在开发板LCD上显,W35型LCD驱动移植 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...
  3. GPS时间转utc时间/unix时间
  4. CPU性能测试脸型软件,UserBenchmark(电脑性能测试软件) V2.9.1.0 官方版
  5. 邮箱每日发送上限小知识,告诉你各大邮箱每天最高发信数量
  6. 【2019年04月03日】A股最便宜的股票
  7. MAB建模规范-Stateflow状态机建模规范
  8. 网络攻防课程期末复习整理
  9. 比较实用的几种端口入侵
  10. 东华大学计算机专业辅修金融专业,这9所大学,王牌专业秒杀985大学!更有全国第一!...