当你提到二维码时,大多数人想到的是仓库管理或产品标签等 "工业 "应用,但这篇文章在很大程度上是关于二维码的个人和社会用途。

有趣的事实

二维(QR)码是在1994年发明的,最近几年由于新冠肺炎的出现,它的"非接触 "特性使其应用广泛。

二维码具备良好的解决方案。它可以被几乎所有的手机使用默认的照片应用程序扫描,同样,扫描它们也会根据它们的背景触发某种动作。

例如,一个含有URL的QR码允许你在浏览器中打开它。含有Wifi登录信息的二维码允许你立即连接。含有联系人详细信息的二维码允许您在地址簿中创建一个新的联系人。带有地理坐标的二维码允许你在地图上找到一个位置。这使扫描者的生活变得非常容易,并使信息提供者完全脱离......他们不再需要为了发生互动而在场。

开始

在开始之前,我做了一些研究,并选择了Python中的segno模块,因为它有全面的功能列表和漂亮的文档。在谷歌搜索Python中的QR码时,它并没有出现在最前面,甚至在模块名称中也没有 "QR",但不要因此而放弃--它是一个很棒的工具。

让我们先用 .make()方法创建一个最简单的QR码。它只包含可以复制或传输的原始数据,由于内容很短, segno默认创建一个有趣的 "微型QR "码。


  1. pip install segno


  1. import segno

  2. price_tag = segno.make("£9.99")

  3. price_tag.save("Price Tag.png")

你也可以使用方便的 .show方法,而不是用 .save来创建一个文件,然后导航到它,显示它,使用后再删除它。这将创建一个临时图像文件,并在你的默认图像查看器中自动打开。这对调试或测试很有帮助,特别是当你开始试验不同的颜色和背景图像,并想确认QR码仍能正常扫描时。

用于分享URL的QR码

使用同样的方法和稍大的有效载荷,我第一个任务(分享视频信息)的Python代码是微不足道的。


  1. import segno

  2. video = segno.make('https://youtu.be/px6FeOKD3Zc')

  3. video.save('Video.png', scale=4)

只需多写一行代码,我就能创建一个更加丰富多彩的QR码,在这种情况下,我最喜欢的一张图片实际上是一个用Piet编程语言编写的 "Hello World "脚本。


  1. pip install qrcode-artistic


  1. import segno

  2. piet = segno.make('https://esolangs.org/wiki/Piet', error='h')

  3. piet.to_artistic(background="background.png", target='Piet.png', scale=16)

携带WIFI详细信息的QR码

我的第二个任务(WIFI登录细节)的Python代码也同样简单,但我定制了颜色并使输出更大。


  1. import segno

  2. wifi_settings = {

  3. ssid='(Wifi Name)',

  4. password='(Wifi Password)',

  5. security='WPA',

  6. }

  7. wifi = segno.helpers.make_wifi(**wifi_settings)

  8. wifi.save("Wifi.png", dark="yellow", light="#323524", scale=8)

联系信息的二维码

在这些快速成功的鼓励下,我决定为一个朋友的艺术和手工艺业务创建一个二维码。


  1. import segno

  2. vcard = segno.helpers.make_vcard(

  3. name='Pxxx;Jxxx',

  4. displayname='Times Tables Furniture',

  5. email=('jxxxpxxx@timestables.furniture'),

  6. url=[

  7. 'https://www.etsy.com/uk/shop/TimesTablesFurniture',

  8. 'https://www.facebook.com/profile.php?id=100083448533180'

  9. ],

  10. phone="+44xxxxxxxxxx",

  11. )

  12. img = vcard.to_pil(scale=6, dark="#FF7D92").rotate(45, expand=True)

  13. img.save('Etsy.png')

对于我自己的VCard,我选择添加我公司的标志作为背景。


  1. import segno

  2. awsom = segno.helpers.make_vcard(

  3. name='Fison;Pete',

  4. displayname='AWSOM Solutions Ltd.',

  5. email=('pxxxfxxx@awsom.solutions'),

  6. url=[

  7. 'https://twitter.com/awsom_solutions',

  8. 'https://medium.com/@petefison',

  9. 'https://github.com/pfython'

  10. ],

  11. phone="+44xxxxxxxxxx",

  12. )

  13. awsom.to_artistic(

  14. background="logo.png",

  15. target='AWSOM.png',

  16. scale=6,

  17. quiet_zone="#D29500"

  18. )

用于其他目的的二维码

segno API还允许你做以下事情。

segno.helpers.make_email : 发送一封预先准备好主题和内容的电子邮件。对于订阅新闻简报,或者从邮件服务器上触发任何可能的行动,都是非常好的。

segno.helpers.make_epc_qr: 发起一个电子支付。

segno.helpers.make_geo: 在一个特定的经度和纬度打开默认的地图应用。

segno.make_sequence : 使用 "结构化附加 "模式创建一个QR码序列。

把所有东西都保存在内存中

如果你喜欢把所有的处理保持在 "内存中",而不是在硬盘或服务器上创建文件,你可以创建一个PIL图像对象,或者使用BytesIO保存一个类似文件的对象:


  1. import segno

  2. beatle = segno.make('Paul McCartney')

  3. beatle = qrcode.to_pil()


  1. import segno

  2. import io

  3. beatle = segno.make('Paul McCartney')

  4. buff = io.BytesIO()

  5. beatle.save(buff, kind='svg')

同样,如果你喜欢直接从URL中加载背景图片到内存中,而不是先在硬盘或服务器上创建一个文件,你可以使用urlopen方法。


  1. from urllib.request import urlopen

  2. import segno

  3. beatle = segno.make('Ringo Starr', error='h')

  4. url = 'https://media.giphy.com/media/HNo1tVKdFaoco/giphy.gif'

  5. bg_file = urlopen(url)

  6. beatle.to_artistic(background=bg_file, target='ringo.gif', scale=10)

二维码的创造性、家用式的想法

希望这篇短文能让您对使用二维码有兴趣,不仅仅是用于 "工业 "项目,而且还用于个人和社会项目。网上有很多文章,建议将二维码创造性地用于商业和营销,因此,在本文的最后,我想分享一些我自己的 "家用式 "想法,可能会吸引你。

  • 在你的垃圾桶边上有关于回收规则的信息

  • 触发一封电子邮件给亲人,说你已经安全到家。

  • 触发一个更新,说你已经离开了家。

  • 在你所在的城镇或乡村道路上寻宝;链接到你自己的网站,包括当地信息、社会媒体团体、当前的地理位置等。

  • 在你的房子周围为年幼的孩子寻宝,或举行晚宴。

  • 在明信片上贴上二维码,让家人和朋友直接进入你的旅行日记、照片日记或博客中的最新条目。

  • 洗衣机、微波炉、烤箱、打印机、锅炉、3D打印机、激光切割器、甚至汽车等电器的说明书。

  • 你的家谱或历史,或财产信息保存起来供后人参考。

  • 一个在线留言簿,游客可以记录他们的逗留,并留下个人的信息。

  • 冰箱上的贴纸,链接到最新的家庭购物清单。

  • 每个家庭成员的每周家务事清单。

  • 笔记本电脑、电话、相机、无人机等的 "如果丢失,请归还...... "贴纸。

  • 诚信箱--让人们在使用/消费/购买东西时付款,例如,从共享冰箱中的食物和饮料,在农场外出售的鸡蛋。

  • 预约管理电视/互联网/游戏的特权。

  • 婴儿保姆或宠物保姆的紧急联系信息。

  • 在停电的情况下为你提供紧急联络方式--水、电、煤气。

  • 为你看家护院的人提供当地的食品配送公司。

  • 个人视频信息/提醒。

  • 关于你最喜欢的装饰品或房子周围的艺术品的信息。

  • 你的酒架/酒窖的品酒说明。

  • 花园植物和树木的标签--物种、浇水、年龄等细节。

用 Python 制作各种用途的二维码相关推荐

  1. 用Python制作各种用途的二维码

    当你提到二维码时,大多数人想到的是仓库管理或产品标签等 "工业 "应用,但这篇文章在很大程度上是关于二维码的个人和社会用途. 有趣的事实 二维(QR)码是在1994年发明的,最近几 ...

  2. python制作自己的专属二维码

    python制作自己的专属二维码 普通二维码 带图二维码 动图二维码 首先下载并导入,下载可以 pip insatll MyQR来下载 from MyQR import myqr 首先可以看到这个函数 ...

  3. 使用Python制作酷炫的二维码

    参考: https://www.cnblogs.com/zhuwjwh/p/11401312.html 制作动图二维码只需要原始图像是动图就可以哦~~,制作动图可以参考我之前的博客:

  4. 用11行Python代码,实现动态二维码制作

    用11行Python代码,实现动态二维码制作 效果展示 Python实现 素材 其他工具 效果展示 Python实现 要预装myqr模块才行. windows键+R 打开cmd,输入pip insta ...

  5. 用python制作二维码_用python做一个可视化生成二维码的工具

    用python做一个可视化生成二维码的工具 环境 pip install gooey pip install MyQR 源代码 from gooey import GooeyParser,Gooey ...

  6. Python qrcode模块(生成二维码)

    Python qrcode模块(生成二维码) 一.Qrcode类解释 1.QR Codede 由来 2.QRCode二维码版本 二.Qrcode类构造函数及参数含义 1.version=None 2. ...

  7. python—生成带logo的二维码(零基础向)

    在python 中可以用qrcode 库将文本.图片.视频链接等生成二维码,并用图片处理库PIL 中的Image 方法添加自定义图片,制作带有logo的二维码.本文以Windows 系统为例进行演示. ...

  8. 用Python生成动态好玩的二维码

    用Python生成动态好玩的二维码 互联网时代可谓是一手机走天下,二维码已经成为我们工作生活中不可或缺的一种媒介了,不管是社交.出行还是支付,二维码已经在熟悉不过了,似乎人人都有一种"见码就 ...

  9. 使用Python的库qrcode生成二维码

    现在有很多二维码的生成工具,在线的,或者安装的软件,都可以进行生成二维码.今天我用Python的qrcode库生成二维码.需要预先安装  Image 库 安装 用pip安装 # pip install ...

  10. Python小项目——生成个性二维码

    Python小项目--生成个性二维码 现代社交离不开微信,QQ,那么今天就教你用 Python 生成自己的个性二维码

最新文章

  1. 在SharePoint Foundation 2010中显示来自其他站点的列表
  2. gp338信令_【对讲机的那点事】摩托罗拉GP338的MDC1200信令选呼如何编程?
  3. 后盾网lavarel视频项目---vue-axios基本用法
  4. 重置密码遇到ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)问题
  5. 配置aconda_centos 安装aconda
  6. 企业级IM应该帮助员工提高绩效,避免无关的信息干扰
  7. 点击回退按钮刷新页面
  8. 【转】ABP源码分析二十八:ABP.MemoryDB
  9. JQuery全选反选 随其他checkbox自动勾选全选反选
  10. php控制台输入输出
  11. eda多功能时钟设计_Altera FPGACPLD设计 基础篇+高级篇(附随书光盘)
  12. 我为NET狂~群福利:逆天书库
  13. vivo android 刷机教程,vivo刷机步骤盘点【图文教程】
  14. 昆仑通态通用版找不到驱动_昆仑通态USB下载问题解决方案
  15. scrum立会报告+燃尽图(第二周第六次)
  16. GPL和LGPL的区别!
  17. office右键没有新建word,Visio等解决办法
  18. There were errors checking the update sites: SSLHandshakeException: sun.secu解决方案
  19. html5/Css3 网页设计 带音乐与食品模块
  20. 预成大器,远离对日外包

热门文章

  1. 旁注虚拟主机IIS权限重分配跨目录得webshell
  2. TFP-161/100/6MM/6MM/MPU在红尘里,靠近菩提
  3. Gym - 101606L Lizard Lounge 计算几何+LIS
  4. mysql high priv_MYSQL新特性secure_file_priv对读写文件的影响
  5. 解决easyui-tabs 适应ie窗口大小显示不全的问题
  6. 将进酒:写在26岁生日这一天
  7. Android修改项目名和包名
  8. LoRa远程监控系统
  9. 【论文推荐】了解《目标跟踪》必看的6篇论文(附打包下载地址)
  10. 灵遁者第一部诗歌集《触摸世界》上集40首诗歌欣赏