手把手教你用Python打造一款属于你自己的个性二维码

/前言/

在现代社会中,我们出行坐公交经常会看到二维码,支付宝微信收款也会有二维码扫一扫,那么这些二维码是怎样生成的了,今天我们不研究二维码的原理,只教大家如何制作属于自己的二维码。

/项目目标/

自己用程序打造一款属于自己的个性二维码。

/项目准备/

编辑器:sublime text 3    

浏览器:360浏览器    

模块:MyQR

/实现步骤/

一、分析网站二维码生成

在实践前我们可以先看看网站上的二维码生成。

在这里我要分享一个二维码网址,算是知名度比较大的二维码在线生成工具:草料二维码。

它支持很多种生成二维码的方式:

可以看出生成种类还是挺丰富的,基本上能满足我们所有的要求,而且他还有很多其他丰富的功能。最重要的是所有功能都免费。

这样就完成了一个文本二维码,我们只要用扫码工具一扫就能看到‘任性的90后boy’这几个字。

二、模块生成

下面我们来用命令集制作属于自己的二维码,今天给大家介绍一个神器:myqr模块。

它的操作方法比较简单,只需在cmd窗口中操作即可。

1.安装

pip install myqr

2.基本用法

可以看出它生成一张照片,而且我把它找出来了,真的太机智啦~

打开我的微信一扫,显示的就是 ‘/?’,原谅我还没从cmd的命令中缓过神来。下面我们来看看帮助文件能给我们什么答案吧。

显示的包的内容是他可以是一个脚本也可以是一个命令行,还是挺强大的,先去看它的源代码吧。

通过分析我知道了这个工具的确强大,而且参数也不多,比较简单。下面是我总结它的参数含义,不知道对不对:

1words:单词,应该是内容 2version:版本 3level:级别 4picture:背景图 5colorized:颜色 6contrast:对比度 7brightness:亮度 8save_name:名称 9save_dir:路径

3.生成原始二维码

那么说淦就淦,我们先来生成张简单的吧。

可以看到成功,通过扫码,很顺利就扫到hello。

4.生成带背景图的二维码

不过,这样的二维码实在是太普通了,我们可不可以在丰富下它的功能呢?答案当然是可以的。比方说我们给它加个背景图。

生成出来了,不过有点丑。

5.生成带颜色的二维码

我想着应该可以给二维码加点颜色。于是乎加了一句代码就生成了,简单来说就是一个参数就ok。

它就是colorized,只要将它设为你True即可显示背景图的颜色,背景图有了颜色,自然二维码也会有。

6.修改二维码大小

看起来像那么回事了,不过这个二维码会不会太小了,给它整大点,通过查文档得知只需更改它的version值即可,有点想不通,version不是版本的意思吗,怎么到你那儿就成大小了?难道不是size吗,不管了,言归正传。

嗯嗯,现在有点像样了 。

7.动态二维码生成

其实我们在这里要想生成动态二维码也很简单,只需将生成类型和背景图片设置为gif即可。

1 2from MyQR import myqr 3myqr.run(words='hello',version=10,picture='12.gif',colorized=True,save_name='hello.gif',save_dir='./Game2')

/小结/

其实MyQr还可以通过命令行来操作生成二维码,但是我们Python程序员天生就很Python,所以还是Python好。

通过对二维码的了解使我知道了它的神器之处,原来一个二维码如此简单就能生成出来,也惊叹世人的伟大与不朽。

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~

-------------------********************************** End **********-------------**-----********-**********************************

往期精彩文章推荐:

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

本文转自 https://mp.weixin.qq.com/s/MeGD5PSn2HkfkFSqOCygaw,如有侵权,请联系删除。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

UIWebView长按保存图片和识别图片二维码的实现方案(使用缓存)

0x00需求:长按识别UIWebView中的二维码,如下图长按识别二维码0x01方案1:给UIWebView增加一个长按手势,激活长按手势时获取当前UIWebView的截图,分析是否包含二维码。核心代码:略优点:流程简单,可以快速实现。不足:无法实现保存UIWebView中图片,如果当前We

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )