2020七夕又來了,教你給女友作個動態二維碼

蘇生不惑第166 篇原創文章,將本公衆號設爲 星標,第一時間看最新文章。

又到了一年一度的七夕了,以前寫過據說 520 你還沒對象,來這裏看看 ,是不還在想送什麼禮物,今天分享一個有意思的動態二維碼,能夠用來哄女友開心。git

二維碼

二維碼也稱爲二維條碼,是指在一維條碼的基礎上擴展出另外一維具備可讀性的條碼,使用黑白矩形圖案表示二進制數據,被設備掃描後可獲取其中所包含的信息。

以上來自維基百科解釋 https://zh.wikipedia.org/zh-c... ,自從有了微信,二維碼已經隨處可見了。github

使用 Chrome 擴展能夠輕易的生成二維碼 https://chrome.google.com/web...
image.pngweb

今天介紹的是基於 Python 的二維碼工具 myqr 。chrome

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生成一個動態二維碼。
心.gifui

λ 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

生成二維碼效果:
lovelove_qrcode.gif
myqr http://sushengbuhuo.gitee.io/love/ -p lovelove.gif -c 彩色效果
lovelove_qrcode.gif
再清晰點。
lovelove_qrcode.gif
用微信掃碼後顯示效果,能夠本身長按識別二維碼:
npy.gif
惋惜動圖在微信裏無法識別。
image.pnggoogle

還有個模板 https://a.scene.ehqxiu.cn/s/X...
xinxin.gif
微信掃描後效果:
image.pngspa

若是你沒有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

zhuyin_qrcode.gif

這裏給個人公衆號二維碼也生成個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

相關文章
相關標籤/搜索