【基础入门详解】程序员的二维码也要玩出不同色彩,用Python生成动态彩色二维码
一、前言
常见的二维码为QR CodeCode,QR全称是Quick Response,是一个近几年来移动设备上超流行的一种编码方式。它的结构如下:
主要有以下特点:
- 符号规格从版本1(21×21)到版本40(177×177),每提高一个版本,每边增加 4 个码元(即指构成 QR 码的方形黑白点)
- 信息容量大:能存储 7089 个数字字符或 4296 个字母字符或 2953 个 8 位字节字符或 1817 汉字字符
- 纠错能力强:即使部分编码变脏或破损,也可以恢复数据。L级约可纠错 7% 的数据码字,M级约可纠错 15% 的数据码字,Q级约可纠错25%的数据码字,H级约可纠错 30% 的数据码字
- 可以从任意方向读取: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确实是挺好用的,唯一的缺点就是,不支持中文!!!它只支持以下字符:
- 数字 0 到 9
- 大小写的英文字母
- 常用英文标点符号和空格
到这里结束了,更多有关Python精彩内容可以关注小编看小编主页。
【基础入门详解】程序员的二维码也要玩出不同色彩,用Python生成动态彩色二维码相关推荐
- 用Python创建动态彩色二维码
平常我们看到的二维码都是黑白两种颜色,且形状不太好看.本文会教大家把你的文件链接变成漂亮的二维码,微信扫一扫二维码就可以进入你的文件,以下是Python中的处理步骤. 1. 下载库 在Anac ...
- C++基础入门《黑马程序员》
C++基础入门 0 前言 1.配套学习视频:https://www.bilibili.com/video/BV1et411b73Z 2.修复了图片问题和MD笔记显示问题,补充了一些知识 3.课程 ...
- Docker基础入门详解
一.产生背景 在传统软件开发流程中,研发程序员将功能代码研发完成后,交由测试人员进行测试,最后通过运维人员部署上线.但是在这个过程中,常常因为环境问题.配置问题.软件版本问题等等诸多因素,造成一些问题 ...
- 【世界上最好用的编程语言】PHP基础入门详解
简介 PHP(超文本预处器)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C.Java.Perl以及PHP自 ...
- 详解程序员驻场开发服务的具体流程
近年来,随着大数据.云计算等高科技技术的高速发展,越来越多的企业为了提高市场竞争力都会有软件开发的需求.有些企业会选择全部招聘自己的软件人才进行项目开发,而有的企业为了控制人力成本.灵活发展公司业务, ...
- python文件输入符_python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)...
一.变量和表达式 >>> 1 + 1 2 >>> print 'hello world' hello world >>> x = 1 >&g ...
- python循环控制语句将数值转化成字符串_python基础入门详解(文件输入/输出内建类型字典操作使用方法)...
f=open("foo.txt") line=f.readline() while line: print line, line=f.readline() #读取一行,包括换行符' ...
- Gradle安装部署与基础入门详解
[1]Gradle简介 Gradle 是一款Google 推出的基于JVM.通用灵活的项目构建工具,支持Maven,JCenter 多种第三方仓库;支持传递性依赖管理.废弃了繁杂的xml 文件,转而使 ...
- 编程语言的各种类型详解 - 程序员小知识1
编程语言的分类 强类型定义语言 弱类型定义语言 动态类型语言 静态类型语言 编译型语言 解释型语言 脚本语言 分类 定义 举例 强类型定义语言 强类型定义语言又称强类型语言,强类型语言要求变量严格符合 ...
最新文章
- chrome json插件_如何使用此免费的Chrome扩展程序(或Firefox插件)获取易于阅读的JSON树
- iOS开发中@property的属性weak nonatomic strong readonly等介绍
- 【解决问题】useBean类属性[com.cheng.pojo.People]的值无效导致HTTP500问题
- YMP框架学习笔记(二)------基于YMP框架搭建WEB应用程序
- 13个你必须知道的JS数组技巧
- 整合Spring Cloud微服务分布式云架构技术点
- tomcat基础应用详解
- AMD 和 CMD 的区别有哪些?
- stm32数据手册boot_stm32f103中文手册.pdf
- 熟悉Linux基本操作
- Linux版主机卫士安装使用
- 关于TI、海思(Hisilicon)、安霸(Ambarella)三家的百万高清方案的简单比较
- SQL REGEXP_SUBSTR的用法
- IPFS发展前景真有说的那么好么?
- Android 怎么防止多并发请求?比如说一个页面需要请求多个接口,可以跟后台网络交互能做哪些性能优化
- 【消息中间件MQ分享】
- 卖罐头(冬季每日一题 32)
- 计算机网络技术职业现状分析,师范专科学校计算机网络技术专业现状与应对措施.doc...
- 谈一谈打造高效能技术团队的七个方法
- 汉江大桥上的监控 AI,挽救自杀者的生命
热门文章
- mysql-MDL元数据锁
- linux在开发板LCD上显,W35型LCD驱动移植 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...
- GPS时间转utc时间/unix时间
- CPU性能测试脸型软件,UserBenchmark(电脑性能测试软件) V2.9.1.0 官方版
- 邮箱每日发送上限小知识,告诉你各大邮箱每天最高发信数量
- 【2019年04月03日】A股最便宜的股票
- MAB建模规范-Stateflow状态机建模规范
- 网络攻防课程期末复习整理
- 比较实用的几种端口入侵
- 东华大学计算机专业辅修金融专业,这9所大学,王牌专业秒杀985大学!更有全国第一!...