1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        用 Python 制作炫酷吊炸天的二維碼!

        共 5747字,需瀏覽 12分鐘

         ·

        2021-04-29 21:20

        各種酷炫二維碼的介紹

        當今社會,二維碼用的地方越來越多了。你的微信二維碼,微信付款嗎、支付寶付款碼,這基本成了每個人的必備品了。

        今天這篇文章,就帶著大家制作幾款二維碼,分別是:靜態(tài)二維碼單圖動態(tài)二維碼、多圖動態(tài)二維碼。

        下面先來看看最終的效果:

        ① 單圖動態(tài)二維碼

        ② 靜態(tài)二維碼


        ③ 多圖動態(tài)二維碼


        自己開發(fā)的二維碼生成器

        這款“二維碼生成器”工具,我已經開發(fā)出來。下面給大家簡單介紹一下它的用法。

        首先,打開我個人開發(fā)的二維碼生成器,如下圖所示。

        接著,輸入二維碼要保存的網址、二維碼保存位置,以及動圖所在位置。

        最后,點擊“生成二維碼”,即可看到最終生成的效果!

        從下圖可以看到,這張動態(tài)二維碼已經生成。

        開發(fā)代碼

        這么酷炫的工具是怎么開發(fā)出來的呢?廢話不多說,直接上代碼吧!

        __author__ = 'xiaoxiaoming'

        import PySimpleGUI as sg
        from MyQR import myqr

        sg.change_look_and_feel("LightBlue")
        layout = [
            [sg.Text("請輸入二維碼的網址或英文字符串(不支持中文):")],
            [sg.In(size=(601), key="words")],
            [sg.Text("圖片保存位置(文件名以底圖為準):")],
            [sg.In(size=(531), key="save_path"), sg.FolderBrowse('游覽', target='save_path')],
            [sg.Text("底圖所在位置(不傳表示不設置底圖,支持多選會同時生成多張二維碼):")],
            [sg.In(size=(531), key="bg_filename"), sg.FilesBrowse('游覽', target='bg_filename')],
            [sg.Button('生成二維碼', enable_events=True, key="start")],
            [sg.Text(size=(503), text_color='red', key="out", text='底圖設置一張gif動圖即可生成動態(tài)二維碼')],
            [sg.Image(key="-IMAGE-")],
        ]
        window = sg.Window("動態(tài)二維碼生成器(小小明個人開發(fā))", layout)

        def create_qr(words, save_path, picture):
            if picture == "":
                imgpaths = [None]
            else:
                imgpaths = picture.split(";")
            save_names = []
            save_path = save_path.rstrip("/").rstrip("\\")
            for idx, imgpath in enumerate(imgpaths, 1):
                i = imgpath.rfind('/')
                j = imgpath.rfind('\\')
                start_p = max(i, j) + 1
                end_p = imgpath.rfind('.')
                filename = imgpath[start_p:end_p]
                save_name = f"{save_path}/{filename}-{idx}.gif"
                myqr.run(
                    # 該鏈接表示你想要生成二維碼的鏈接。
                    words=words,
                    version=10,  # 容錯率
                    level='H',  # 糾錯水平,范圍是L、M、Q、H,從左到右依次升高
                    colorized=True,  # False為黑白
                    contrast=1.5,  # 用以調節(jié)圖片的對比度,1.0 表示原始圖片。
                    brightness=1.0,  # 用來調節(jié)圖片的亮度。
                    save_name=save_name,  # 存儲的文件名
                    # 背景圖片的路徑,你如果給的是".png/.jpg"等靜態(tài)圖片,最終生成的就是靜態(tài)二維碼!
                    # 背景圖片的路徑,你如果給的是".gif"等動態(tài)圖片,最終只需要保存為".gif",生成的就是動態(tài)二維碼!
                    picture=imgpath
                )
                save_names.append(save_name)
            return save_names

        while True:
            event, values = window.read()
            if event == "Exit" or event == sg.WIN_CLOSED:
                break
            print(event, values)
            if event == 'start':
                try:
                    save_names = create_qr(values['words'], values['save_path'], values['bg_filename'])
                    window["-IMAGE-"].update(filename=save_names[-1])
                    window["out"].update(f"二維碼圖片已經保存到" + ",".join(save_names))
                except Exception as e:
                    window["out"].update(str(e))

        window.close()

        關于MyQR:

        https://github.com/sylnsfar/qrcode/blob/master/README-cn.md

        安裝:

        pip install myqr

        打包exe:

        python -m PyInstaller -wF myqr_gui.py -i C:\Users\Think\Pictures\ico\a.ico

        注意:在虛擬環(huán)境下,直接使用pyinstaller打包,最終打包出來的程序無法運行,因為有些庫未打包成功,用上述命令打包即可解決這個問題。

        給你的微信二維碼,添加自定義背景圖

        猛地一看標題,大家可能不太明白這是啥意思,我大致為你說明一下。

        在微信中,我們本身可以保存自己的二維碼,但是一般都是沒有背景樣式的。如果你想將女朋友的照片,與你的個人二維碼融合起來,應該怎么辦呢?下面我來好好給你講述一下。

        首先,我們保存自己的微信二維碼圖片,將該二維碼解碼還原為網址。

        二維碼解碼還原為網址,我使用我十年前開發(fā)的二維碼工具進行識別:

        獲取到鏈接節(jié)后,再使用我用python開發(fā)的二維碼生成工具:

        多張動態(tài)二維碼

        選擇多張底圖,批量生成二維碼:

        然后點擊生成二維碼(可能需要多等一會):

        下面是生成的4張對應的二維碼圖片:

        然后打開Imagine軟件:


        點擊工具->動畫作坊

        點擊插入幀,選擇圖片并打開:

        拖動好順序后,全選圖片點擊幀屬性:

        我統(tǒng)一設置為700毫秒,然后確定:

        然后將動畫屬性設置為循環(huán):

        然后保存即可。

        更多閱讀



        5 分鐘快速上手 pytest 測試框架


        5分鐘掌握 Python 隨機爬山算法


        5分鐘快速掌握 Adam 優(yōu)化算法

        特別推薦




        點擊下方閱讀原文加入社區(qū)會員

        瀏覽 51
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            一级片大全 | 午夜伦理片最新伦理片 | 成人美女视频 | 精品少妇无码九九热一区视频 | 成人羞羞 国产免费 | 尤物网91 | 国产精品97麻豆cm传媒 | 草草草影院 | 天堂一区二区三区18 | 日日干天天操 |