苏生不惑第 166 篇原创文章,将本公众号设为
星标
,第一工夫看最新文章。
又到了一年一度的七夕了,之前写过据说 520 你还没对象,来这里看看,是不还在想送什么礼物,明天分享一个有意思的动静二维码,能够用来哄女朋友开心。
二维码
二维码也称为二维条码,是指在一维条码的根底上扩大出另一维具备可读性的条码,应用黑白矩形图案示意二进制数据,被设施扫描后可获取其中所蕴含的信息。
以上来自维基百科解释 https://zh.wikipedia.org/zh-c…,自从有了微信,二维码曾经随处可见了。
应用 Chrome 扩大能够轻易的生成二维码 https://chrome.google.com/web…
明天介绍的是基于 Python 的二维码工具 myqr。
myqr
myqr 可生成一般二维码、带图片的艺术二维码(黑白与黑白)、动静二维码(黑白与黑白)https://github.com/sylnsfar/q…,间接应用 pip install myqr 装置它。
这里以一个表白网页 myqr http://sushengbuhuo.gitee.io/… 生成二维码。
λ myqr http://sushengbuhuo.gitee.io/love/
line 16: mode: byte
Succeed!
Check out your 5-H QR-code: d:\download\qrcode.png
生成二维码成果:
接着用 GIF 生成一个动静二维码。
λ myqr http://sushengbuhuo.gitee.io/love/ -p lovelove.gif
It may take a while, please wait for minutes...
line 16: mode: byte
Succeed!
Check out your 5-H QR-code: d:\download\lovelove_qrcode.gif
生成二维码成果:
myqr http://sushengbuhuo.gitee.io/love/ -p lovelove.gif -c
黑白成果
再清晰点。
用微信扫码后显示成果,能够本人长按辨认二维码:
惋惜动图在微信里没法辨认。
还有个模板 https://a.scene.ehqxiu.cn/s/X…
微信扫描后成果:
如果你没有 Python 环境,这里提供了一个 exe 程序(公众号内回复 女朋友
获取),应用办法很简略,在 exe 文件同级目录创立一个文件 info.txt,在外面输出对应的参数,之后双击 myqr.exe 运行即可。
info.txt 文件格式如下:
words=http://sushengbuhuo.gitee.io/love/
v=11
p=lovelove.gif
l=Q
c
con=1.5
bri=1.3
你只须要改 p 前面参数 lovelove.gif(GIF 文件名,就是下面那个给你小心心的 GIF 图,你也能够本人找一个)。
第一次应用会主动下载一些库文件,因为程序依赖 imageio
如果下载很久不动,你能够从这里本人下载到本地
https://github.com/imageio/im…,而后把这个文件放到 freeimage 目录
C:UsersxxxAppDataLocalimageiofreeimage(xxx 为本人电脑用户名),如果没有 freeimage 文件夹须要手动创立。
imageio 目录还有 ffmpeg 目录,外面有个文件 ffmpeg-win32-v3.2.4.exe,也能够从这里下载 https://github.com/imageio/im…,运行 myqr.exe 后在本地生成动静 GIF 图 lovelove_qrcode.gif。
这里给我的公众号二维码也生成个 GIF 图,公众号的二维码能够通过微信号生成 https://open.weixin.qq.com/qr…,解码后的地址为 http://weixin.qq.com/r/WDvM1M…,生成成果:
上面分享段 Python 代码,输入❤心形 love
代码输入爱
命令行执行print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))
veLoveLov veLoveLov
eLoveLoveLoveLove eLoveLoveLoveLove
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo
veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
eLoveLoveLoveLoveLoveLoveLoveLoveLove
oveLoveLoveLoveLoveLoveLoveLoveLove
eLoveLoveLoveLoveLoveLoveLoveLove
veLoveLoveLoveLoveLoveLoveLov
oveLoveLoveLoveLoveLoveLo
LoveLoveLoveLoveLoveL
LoveLoveLoveLov
LoveLoveL
Lov
v
还能够自定义
import time
words = input('Please input the words you want to say!:')
for item in words.split():
print('\n'.join([''.join([(item[(x-y) % len(item)] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else' ') for x in range(-30, 30)]) for y in range(12, -12, -1)]))
time.sleep(1.5)
[plt.show() for _, __, ___, plt in [(plt.plot(x, y1, color='r'), plt.plot(x, y2, color='r'), np, plt) for x, y1, y2, np, plt in [(x, 0.618*np.abs(x) - 0.8* np.sqrt(64-x**2), 0.618*np.abs(x) + 0.8* np.sqrt(64-x**2), np, plt) for x, np, plt in [(np.linspace(-8, 8, 1024), np, plt) for np, plt in [(__import__('numpy'), __import__('pylab'))]]]]]
没有装置 Python,在浏览器控制台也是能够的。
console.log([...Array(30).keys()].map(u=>u-15).reverse().map(y=>[...Array(60).keys()].map(u=>u-30).map(x=>((x*0.04)**2+(y*0.1)**2-1)**3-(x*0.04)**2*(y*0.1)**3<=0?'babyiloveu'.split('').slice([(x-y)%10])[0]:' ').join('')).join('\n'))
公众号 苏生不惑