竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

介紹python應用學習之qrcode生成二維碼

極客小將2021-02-26-
簡介免費學習推薦:python視頻教程python應用學習(一)——qrcode生成二維碼前言一、準備二、代碼編寫1.引入庫2.配置初始化參數3.得到二維碼對象4.在二維碼中放置logo5.配置相應信息并調用函數6.完整代碼最后前言本文利用python生成一個自己想要的二維碼,其中代碼做了注釋并于相關知
歡迎訪問少兒編程網(http://www.pxcodes.com) Cx6少兒編程網-https://www.pxcodes.com

免費學習推薦:python視頻教程Cx6少兒編程網-https://www.pxcodes.com

python應用學習(一)——qrcode生成二維碼Cx6少兒編程網-https://www.pxcodes.com

前言一、準備二、代碼編寫1.引入庫2.配置初始化參數3.得到二維碼對象4.在二維碼中放置logo5.配置相應信息并調用函數6.完整代碼**后

前言
Cx6少兒編程網-https://www.pxcodes.com

本文利用python生成一個自己想要的二維碼,其中代碼做了注釋并于相關知識的解答
Cx6少兒編程網-https://www.pxcodes.com

一、準備Cx6少兒編程網-https://www.pxcodes.com

1、python環境Cx6少兒編程網-https://www.pxcodes.com

2、涉及到的python庫需要 pip install 包名 安裝Cx6少兒編程網-https://www.pxcodes.com

pip install qrcode
pip install pillowCx6少兒編程網-https://www.pxcodes.com

二、代碼編寫Cx6少兒編程網-https://www.pxcodes.com

1.引入庫Cx6少兒編程網-https://www.pxcodes.com

import qrcodefrom PIL import Imageimport osimport sys

2.配置初始化參數Cx6少兒編程網-https://www.pxcodes.com

Cx6少兒編程網-https://www.pxcodes.com

qr = qrcode.QRCode( version=2, #25*25 二維碼的版本號,每一個版本號對應一個尺寸,這里尺寸不是圖片的大小而的是二維碼長寬被分成的份數 error_correction=qrcode.constants.ERROR_CORRECT_H, #糾錯容量,指二維碼不完整時可以正常識別出原信息的概率(ERROR_CORRECT_H的糾錯率**高) box_size=8, #生成圖片的像素 border=1, #二維碼邊框寬度 )

3.得到二維碼對象Cx6少兒編程網-https://www.pxcodes.com

Cx6少兒編程網-https://www.pxcodes.com

qr.add_data(string) **#string為想要打開的鏈接** qr.make(fit=True) #用make()方法生成圖片 img = qr.make_image(fill_color = 'black',back_color = 'white') #得到二維碼對象,并可以通過修改fill_color、back_color參數來調整小格子顏色和背景色 img = img.convert("RGBA") #將圖片轉換為RGBA格式

4.在二維碼中放置logoCx6少兒編程網-https://www.pxcodes.com

if logo and os.path.exists(logo): try: icon = Image.open(logo) img_w, img_h = img.size #img_w、img_h是二維碼的尺寸 except Exception as e: print(e) sys.exit(1) factor = 4 size_w = int(img_w / factor) size_h = int(img_h / factor) icon_w, icon_h = icon.size #icon_W、icon_h是logo原始的尺寸 if icon_w > size_w: #size_W、size_h是二維碼尺寸的1/factor icon_w = size_w if icon_h > size_h: icon_h = size_h icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS) #antialias是平滑處理 # 保證二維碼大小不超過二維碼大小的1/factor w = int((img_w - icon_w) / 2) #計算logo在二維碼中的相對位置 h = int((img_h - icon_h) / 2) icon = icon.convert("RGBA") img.paste(icon, (w, h), icon) #根據相對位置w、h將logo放到二維碼圖片上,所以說實際是logo并不是二維碼的一部分,會遮擋二維碼的一部分,不能太大,否則無法識別

5.配置相應信息并調用函數Cx6少兒編程網-https://www.pxcodes.com

if __name__ == "__main__": info = "https://blog.csdn.net/weixin_45386875/article/details/113766276" #二維碼的鏈接 pic_path = "qr.png" #生成的圖片保存文件 logo_path = "logo.png" #logo的文件名 gen_qrcode(info, pic_path,logo_path ) #調用函數

6.完整代碼Cx6少兒編程網-https://www.pxcodes.com

import qrcodefrom PIL import Imageimport osimport sysdef gen_qrcode(string, path, logo=""): """ 生成中間帶logo的二維碼 需要安裝qrcode, PIL庫 @參數 string: 二維碼字符串 @參數 path: 生成的二維碼保存路徑 @參數 logo: logo文件路徑 @return: None """ qr = qrcode.QRCode( version=2, #25*25 二維碼的版本號,每一個版本號對應一個尺寸,這里尺寸不是圖片的大小而的是二維碼長寬被分成的份數 error_correction=qrcode.constants.ERROR_CORRECT_H, #糾錯容量,指二維碼不完整時可以正常識別出原信息的概率(ERROR_CORRECT_H的糾錯率**高) box_size=8, #生成圖片的像素 border=1, #二維碼邊框寬度 ) qr.add_data(string) #string為想要打開的鏈接 qr.make(fit=True) #用make()方法生成圖片 img = qr.make_image(fill_color = 'black',back_color = 'white') #得到二維碼對象,并可以通過修改fill_color、back_color參數來調整小格子顏色和背景色 img = img.convert("RGBA") #將圖片轉換為RGBA格式 if logo and os.path.exists(logo): try: icon = Image.open(logo) img_w, img_h = img.size #img_w、img_h是二維碼的尺寸 except Exception as e: print(e) sys.exit(1) factor = 4 size_w = int(img_w / factor) size_h = int(img_h / factor) icon_w, icon_h = icon.size #icon_W、icon_h是logo原始的尺寸 if icon_w > size_w: #size_W、size_h是二維碼尺寸的1/factor icon_w = size_w if icon_h > size_h: icon_h = size_h icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS) #antialias是平滑處理 # 保證二維碼大小不超過二維碼大小的1/factor w = int((img_w - icon_w) / 2) #計算logo在二維碼中的相對位置 h = int((img_h - icon_h) / 2) icon = icon.convert("RGBA") img.paste(icon, (w, h), icon) #根據相對位置w、h將logo放到二維碼圖片上,所以說實際是logo并不是二維碼的一部分,會遮擋二維碼的一部分,不能太大,否則無法識別 img.save(path) # 調用系統命令打開圖片 # xdg - open(opens a file or URL in the user's preferred application) #os.system('xdg-open %s' %(path)) #這是Linux系統的命令 os.startfile(path) #windows 下打開文件if __name__ == "__main__": info = "https://blog.csdn.net/weixin_45386875?spm=1010.2135.3001.5343" #二維碼的鏈接 pic_path = "qr.png" #生成的圖片保存文件 logo_path = "logo.png" #logo的文件名 gen_qrcode(info, pic_path,logo_path ) #調用函數

相關免費學習推薦:python教程(視頻)Cx6少兒編程網-https://www.pxcodes.com

以上就是介紹python應用學習之qrcode生成二維碼的詳細內容,更多請關注少兒編程網其它相關文章!Cx6少兒編程網-https://www.pxcodes.com

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 视频国产精品 | 国产午夜精品久久久久久久 | 高清日韩av | 在线中文一区 | 不卡在线一区 | 国产福利在线导航 | 国产精品成人在线观看 | 亚洲精美视频 | 一个色影院 | 又黄又爽一线毛片免费观看 | 青草一区二区 | 国产一区二区黑人欧美xxxx | 国产精品乱码妇女bbbb | 91欧美精品成人综合在线观看 | 可以在线观看的av | 日韩电影av| 午夜三级在线观看 | 成人免费乱码大片a毛片软件 | 一区二区三区在线免费播放 | 青草精品 | 亚洲成人网在线 | 中文在线观看视频 | 国产精品一区二区久久久久 | 在线成人一区 | 久久久久久高清 | 美女洗澡一级毛片 | av中文字幕av | 亚洲成人av在线播放 | 黄色片免费在线观看 | 欧美一区二区三区婷婷月色 | 一区二区三区中文字幕 | 日本免费啪啪 | av中文字幕在线观看 | 国产一区二区三区在线看 | 黄色片网址在线观看 | 亚洲乱码一区二区 | 日韩毛片一区 | 国产91久久精品一区二区 | 成人一区二| 国产资源在线观看 | 成人精品视频在线观看 |