2020七夕又来了,教你给女朋友做个动态二维码

苏生不惑第166 篇原创文章,将本公众号设为 星标,第一时间看最新文章。

又到了一年一度的七夕了,之前写过听说 520 你还没对象,来这里看看 ,是不还在想送什么礼物,今天分享一个有意思的动态二维码,可以用来哄女朋友开心。

二维码

二维码也称为二维条码,是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。

以上来自维基百科解释 https://zh.wikipedia.org/zh-c... ,自从有了微信,二维码已经随处可见了。

使用 Chrome 扩展可以轻易的生成二维码 https://chrome.google.com/web...
image.png

今天介绍的是基于 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

生成二维码效果:
qrcode.png

接着用GIF生成一个动态二维码。
心.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

生成二维码效果:
image.png

还有个模板 https://a.scene.ehqxiu.cn/s/X...
image.png

如果你没有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
image.png
如果下载很久不动,你可以从这里自己下载到本地
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。
image.png

这里给我的公众号二维码也生成个GIF图,公众号的二维码可以通过微信号生成 https://open.weixin.qq.com/qr... ,解码后的地址为 http://weixin.qq.com/r/WDvM1M... ,生成效果:

lovelove_qrcode.gif

下面分享段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)]))
image.png


                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'))]]]]]
image.png

没有安装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'))
image.png

公众号 苏生不惑

扫描二维码关注或搜索微信susheng_buhuo

你可能感兴趣的:(python,二维码,github)