您好,登錄后才能下訂單哦!
如何用python代碼生成二維碼,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
很多人都掃過二維碼,大部分人的印象都是黑白相間的小方塊,實際上二維碼是運用了計算機圖像處理技術,組合編碼原理的一種編碼,其用黑白像素點的圖像來代表二進制中的“1”和“0”,通過對點的排列組合來表達其所代表的意義所以二維碼的本質是將數據轉換一種方式存儲。所以無論誰生成一個含有“多人運動,五人開黑”內容的二維碼,最后輸出的二維碼是一樣的。
二維碼最關鍵的信息如下,只要能掃到這5個部分就能掃到二維碼的內容,不然你可以用手指頭擋住其中任何一個部分可以掃出來試試看。
那么一張二維碼最多能存儲多少信息呢?二維碼是有大小限制的,最大的二維碼是版本40的二維碼177 * 177。最小的版本1的二維碼是21 * 21。如果用最大的二維碼存儲數據,可以存7089個數字或4296個字母,23624bit的數據,就像圖下所示,你的手機能掃出來嗎?(終于找到換手機的理由了,二維碼都掃不出來????)
還有人擔心二維碼會不會用完,想引領時代先鋒開創3D碼。這里我們可以算一下,最小版本的二維碼是21*21,一共有441個格子,每個格子只有黑或白兩種選擇,再減去二維碼固定數量的192個角落的定位框。21x21格式的二維碼有2的249次方種組合,這個數字有75位。如果中國人每天每秒掃1次碼,可以掃14.79億億億億億億億年(7個億),等用完賈躍亭都回國了。
用python的MyQR庫來制作一個二維碼只需要一行代碼,第一個參數輸入二維碼里的內容(不能輸入中文),第二個參數輸入保存的二維碼圖片名稱即可生成一張二維碼。
from MyQR import myqr as mq
mq.run('https://www.zhihu.com/people/hou-yu-wen-80',save_name='ewm.png')
如果想生成帶中文的二維碼,需要使用qrcode庫來制作,也僅需要一行代碼可以生成出來
import qrcode
qrcode.make('我盧本偉沒有開掛').save('test.png')
import qrcode
qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)
qr.add_data('我盧本偉沒有開掛')
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save('lbw.png')
"""參數含義:
version:值為1~40的整數,控制二維碼的大小(最小值是1,是個12×12的矩陣)。 如果想讓程序自動確定,將值設置為 None 并使用 fit 參數即可。
error_correction:控制二維碼的錯誤糾正功能。可取值下列4個常量。
ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。
ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
box_size:控制二維碼中每個小格子包含的像素數。
border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(默認為4,是相關標準規定的最小值)
"""
當然經典版的二維碼不能滿足我們對裝x的使用,這里我們可以將自己女朋友的頭像做成二維碼,無形裝x最為致命。
from MyQR import myqr as mq
mq.run('https://www.weibo.com/u/5644764907',
picture="ycy.jpg",
colorized=True,
save_name='ycy_code.png')
只需要將picture參數里導入對應的圖片即可生成有背景圖片二維碼,如果導入的圖片是gif格式,對應的則會生成動態二維碼。
如果把二維碼跟其他應用/網站聯系在其一起將有出奇意外的效果,以下二維碼均有特殊的功能,可以慢慢享用。
看完上述內容,你們掌握如何用python代碼生成二維碼的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。