当你提到二维码时,大多数人想到的是仓库管理或产品标签等 "工业 "应用,但这篇文章在很大程度上是关于二维码的个人和社会用途。
有趣的事实二维(QR)码是在1994年发明的,最近几年它的"非接触 "特性使其应用广泛。
二维码具备良好的解决方案。它可以被几乎所有的手机使用默认的照片应用程序扫描,同样,扫描它们也会根据它们的背景触发某种动作。
例如,一个含有URL的QR码允许你在浏览器中打开它。含有Wifi登录信息的二维码允许你立即连接。含有联系人详细信息的二维码允许您在地址簿中创建一个新的联系人。带有地理坐标的二维码允许你在地图上找到一个位置。这使扫描者的生活变得非常容易,并使信息提供者完全脱离......他们不再需要为了发生互动而在场。
开始
在开始之前,我做了一些研究,并选择了Python中的segno模块,因为它有全面的功能列表和漂亮的文档。在谷歌搜索Python中的QR码时,它并没有出现在最前面,甚至在模块名称中也没有 "QR",但不要因此而放弃--它是一个很棒的工具。
让我们先用 .make()方法创建一个最简单的QR码。它只包含可以复制或传输的原始数据,由于内容很短, segno默认创建一个有趣的 "微型QR "码。
pip install segno
import segno
price_tag = segno.make("£9.99")
price_tag.save("Price Tag.png")
你也可以使用方便的 .show方法,而不是用 .save来创建一个文件,然后导航到它,显示它,使用后再删除它。这将创建一个临时图像文件,并在你的默认图像查看器中自动打开。这对调试或测试很有帮助,特别是当你开始试验不同的颜色和背景图像,并想确认QR码仍能正常扫描时。
用于分享URL的QR码
使用同样的方法和稍大的有效载荷,我第一个任务(分享视频信息)的Python代码是微不足道的。
import segno
video = segno.make('https://www.baidu.com/')
video.save('Video.png', scale=4)
图片
只需多写一行代码,我就能创建一个更加丰富多彩的QR码,在这种情况下,我最喜欢的一张图片实际上是一个用Piet编程语言编写的 "Hello World "脚本。
pip install qrcode-artistic
import segno
piet = segno.make('https://www.baidu.com/', error='h')
piet.to_artistic(background="background.png", target='Piet.png', scale=16)
携带WIFI详细信息的QR码
我的第二个任务(WIFI登录细节)的Python代码也同样简单,但我定制了颜色并使输出更大。
importc segno
wifi_settings = {
ssid='(Wifi Name)',
password='(Wifi Password)',
security='WPA',
}
wifi = segno.helpers.make_wifi(**wifi_settings)
wifi.save("Wifi.png", dark="yellow", light="#323524", scale=8)
联系信息的二维码
在这些快速成功的鼓励下,我决定为一个朋友的艺术和手工艺业务创建一个二维码。
import segno
vcard = segno.helpers.make_vcard(
name='Pxxx;Jxxx',
displayname='Times Tables Furniture',
email=('jxxxpxxx@timestables.furniture'),
url=[
'https://www.baidu.com/',
'https://www.baidu.com/'
],
phone="+44xxxxxxxxxx",
)
img = vcard.to_pil(scale=6, dark"#FF7D92").rotate(45, expand=True)
img.save('Etsy.png')
对于我自己的VCard,我选择添加我公司的标志作为背景。
import segno
awsom = segno.helpers.make_vcard(
name='Fison;Pete',
displayname='AWSOM Solutions Ltd.',
email=('pxxxfxxx@awsom.solutions'),
url=[
'https://www.baidu.com/',
'https://medium.com/@petefison',
'https://github.com/pfython'
],
phone="+44xxxxxxxxxx",
)
awsom.to_artistic(
background="logo.png",
target='AWSOM.png',
scale=6,
quiet_zone="#D29500"
)
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11144/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取