使用Python生成藝術二維碼

2021-02-14 python粉絲團

  網上你可能會見過不少動態的二維碼,除了感覺很新奇以外,或許你會問這是怎麼做出來的?其實有簡單也有複雜的,簡單的就是用一張 GIF 圖片來製作。今天簡單介紹如何用python製作動態二維碼。

    實現是用一個免費的python庫myqr, 在這裡可以看到:
https://pypi.org/pypi/MyQR/

先要安裝:

pip install myqr

    安裝完成後,在命令行中輸入 myqr 查看下使用幫助。


英文都看得懂吧,我就不多解釋了。
安裝了 myqr 之後,就可以在命令行中使用它了。

生成普通二維碼:

➜  ~ myqr ilovepythonline 16: mode: byteSucceed! Check out your 2-H QR-code: /Users/anderson/qrcode.png

生成的二維碼:

微信掃一下,確實是那幾個字。

    如果想要控制輸出的文件路徑和文件名稱,可以使用 -d 控制輸出文件路徑;使用 -n 控制文件名稱,格式可以是 .jpg, .png ,.bmp ,.gif 。

    如果想要控制二維碼的糾錯等級和邊長,可以使用 -l 控制糾錯等級,範圍是L、M、Q、H,從左到右依次升高;使用 -v 控制邊長,範圍是1至40,數字越大邊長越大。

帶圖片的二維碼

如果想要生成藝術二維碼,則可以使用 -p 參數指定圖片,將二維碼與該圖片結合在一起。

想要將上面的圖片結合到二維碼中,可以使用下面的命令來生成:

myqr anderson -p Downloads/monkey.png line 16: mode: byteSucceed! Check out your 2-H QR-code: /Users/anderson/monkey_qrcode.png

默認生成的結果是黑白的,如果想要生成彩色的,可以加上參數 -c。

➜  ~ myqr anderson -p Downloads/monkey.png -c -n monkeycolor.pngline 16: mode: byteSucceed! Check out your 2-H QR-code: /Users/anderson/monkeycolor.png

    另外,如果想要圖片的對比度和亮度,可以使用參數 -con 控制圖片對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0;使用參數 -bri 用來調節圖片的亮度,其餘用法和取值與 -con 相同。

動態 GIF 二維碼

    如果想要生成動態GIF二維碼,方式與上面的帶圖片的二維碼的生成方式沒有區別,只是將原始的 png/.jpg 圖片換成 gif 即可。
    先去網上找個gif圖,這裡找了個papi

轉碼:

➜  ~ myqr papi -c -p Downloads/papi.gif                         It may take a while, please wait for minutes...line 16: mode: byteSucceed! Check out your 1-H QR-code: /Users/anderson/papi_qrcode.gif

在Python程序中使用
除了可以在命令行中使用 myqr,也可以在Python程序中使用,先應用,調用一下就可以了。

from MyQR import myqrimport os

嗯,今天的介紹就到這裡了,如果你喜歡,就點個讚吧!

更多精彩,請關注微信公眾號: python愛好部落

相關焦點

  • 如何用python製作動態二維碼,來哄女朋友開心?
    教你如何用python製作動態二維碼,來哄女朋友開心?adpop=1')這裡沒有加參數限制,所以運行後本地只生成了一個名為「qrcode.png」的普通二維碼圖片。adpop=1', #輸入連結或者句子作為參數,掃描二維碼後顯示 version=5, #控制邊長,範圍是1到40,數字越大邊長越大,默認邊長是取決於你輸入的信息的長度和使用的糾錯等級。
  • 使用Python自動生成報表以郵件發送
    email 一個用來處理郵件消息的庫為什麼使用openpyxl庫來處理Excel呢?如果你接受xls文件,並且每個sheet的行數小於6W,也是可以使用xlwt庫,它對大文件的讀取速度要大於openpyxl。接下來我們就進入實戰部分,來正式實現這個過程。我把整個實現過程分成幾個函數的方式來實現,這樣看著會比較有結構感。
  • 使用Python的concurrent.futures輕鬆實現並發編程
    max_workers表示要部署多少工作線程來生成和管理線程。一般經驗法則是使用2 * multiprocessing.cpu_count() + 1。我的機器有6個物理內核和12個線程。所以我設置為13。注意:您還可以嘗試通過相同的接口使用ProcessPoolExecutor運行上述函數,並注意到多線程版本的性能由於任務性質合適而表現稍好。
  • Python將QQ聊天記錄生成詞雲
    言歸正傳,我們要做的任務是,把 QQ 分手聊天記錄導出,使用 Python 分詞後做成分開的桃心形狀的詞雲進行展示。聽著就很有意思,來,開幹!步驟一:創建和導出聊天記錄1.創建聊天記錄內容選擇 QQ 聊天記錄是因為比較簡單,而微信導出相對麻煩。考慮到個人隱私問題,我申請了 QQ 小號,和大號之間發了一些分手語錄作為提取素材:
  • 如何用PYTHON代碼寫出音樂
    下面我們就介紹下生成MIDI文件所使用的Python庫。python-midi庫介紹市面上差不多有十多種python庫可以編寫MIDI格式的文件,本文會推薦大家使用PYTHON-MIDI。我覺得python-midi的優勢是不光可以自己寫程序生成MIDI,而且還可以對MIDI文件進行解析。
  • python+ pycharm 環境安裝 + pycharm使用
    一、下載和安裝python1.可以搜索python官網找到官方連結點擊進入2.也可以用以下連結點擊進入:https://www.python.org/3.進入python後把滑鼠移到downloads上,然後看到下拉選項
  • Python常用庫大全
    IPython – 功能豐富的工具,非常有效的使用交互式 Python。 bpython- 界面豐富的 Python 解析器。 ptpython – 高級交互式Python解析器, 構建於python-prompt-toolkit 之上。 文件文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
  • 普通二維碼太醜!藝術二維碼教程走一波~
    今天主要講解藝術二維碼製作,希望可以給各位同學看完之後能有所收穫~--目前二維碼做得好的報價在
  • 慢步python,你苦苦找尋的python中文使用手冊在哪裡?這裡有答案
    #學習難度大python對大家來說,應該算是相對新的程式語言。即使這樣,我們學習python的道路依舊困難重重。問題在,相關的學習資料不夠系統。初學者使用手冊像以前剛開始使用電視、手機一樣,都有一本使用說明書,即使用手冊。
  • python 中的運算比較符 is 與 ==
    我們在日常的工作過程中,經常會使用到比較符 is 或者 == 寫表達式對兩個對象進行判斷操作,那麼究竟什麼情況下用
  • Python和C/C++交互的幾種方法總結
    所以在一些對速度要求很高的場合,一般都是使用C/C++這種編譯型語言來寫。但是很多時候,我們既想使用python的簡介優美,又不想損失太多的性能,這個時候有沒有辦法將python與C/C++結合到一起呢?這樣在性能與速度要求不高的地方,可以用pyhton寫,而關鍵的運算部分用C/C++寫,這樣就太好了。python在做科學計算或者數據分析時,這是一個非常普遍的需求。
  • 會Python的人,在職場將非常搶手
    <<  滑動查看下一張圖片  >>▲ 熟悉python成了很多崗位的招聘要求當下,python 在信息搜集和數據分析方面的應用已經非常普遍,早就不是程式設計師的專屬技能了。▲抓取有效數據,生成透視表做客服的工作,用幾行代碼,自動回復用戶的常見問題,不用再重複回答同樣的問題,降低投訴率,拿獎金它不香嘛。
  • Python 打包的現狀:包的三種類型
    這個庫相當簡單:它只生成一個名為 pugs 的包,僅包含一個名為 logic 的模塊。關於 pugs,你猜對了,logic 被用於生成隨機的引號。.zip/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/Users/bernat/Library/Python/3.7/lib/python/site-packages
  • 如何使用Visual Studio工具創建python項目
    python一般情況下,我們使用Visual Studio進行C#、C++和C語言項目進行開發。隨著工具不斷完善,現在也可以進行python項目開發了。那麼,如何在Visual Studio 2019工具上創建python項目?操作步驟:1、通過快捷方式或電腦開始菜單,雙擊打開Visual Studio 2019工具
  • 使用Python製作表白小程序
    對於正在學習python的小編來說,更讓我感興趣的還是小程序背後的代碼了。看完之後我就在想,作為萬能的python來說,實現這種功能應該不在話下吧。果不其然,在知乎上看到過一篇文章就是用python來實現一個表白程序。看完之後,小編就驚呆了,原來用python可以這麼簡單的實現這個程序。
  • Python中的for循環
    # 循環允許我們重複執行一個代碼或代碼塊 # python中的循環 # for循環 # while循環 # for循環是一種迭代循環機制,而while循環是條件循環,迭代即重複相同的邏輯操作
  • 快來用python製作自己的個性二維碼吧
    相信大家經常可以在各種各樣的場景看到很多各式各樣的二維碼,今天我們就一起學習如何製作一個酷炫的二維碼
  • python圖像處理-gif動圖
    動圖分解成一張張圖片先使用open方法打開動圖,接著使用ImageSequence將打開的圖片對象轉換成可迭代的圖片序列,通過for循環將圖片一張張保存到本地,名字可以自定義。比如你所以把一些尺寸不同的圖片合成動圖時,需要先將所有圖片統一尺寸,需要使用resize方法;或者你想在動圖上加上文字,可以結合之前處理單張圖片添加文字的方法,處理完之後在統一合成;或者你還想調整動圖的速率等等,具體更多內容可以留言問我。
  • python及pycharm的安裝及使用
    網上搜python即可找到該頁面下載python3.9.1開始菜單欄打開IDLE(對應python版本)這樣或許不是很美觀,讓我們下載pycharm試試也可以網上搜pycharm,進入相應的官網
  • 利用Python開發App實戰
    準備工作利用python開發app需要用到python的一個模塊–kivy,kivy是一個開源的,跨平臺的Python開發框架,用於開發使用創新的應用程式。簡而言之,這是一個python桌面程序開發框架(類似wxpython等模塊),強大的是kivy支持linux、mac、windows、android、ios平臺,這也是為什麼開發app需要用到這個模塊。