介紹python應用學習之qrcode產生二維碼
免費學習推薦:python影片教學
python應用學習(一)-qrcode產生二維碼
- 前言
- 一、準備
- 二、程式碼寫
- 1.引入庫
- 2.配置初始化參數
- 3.得到二維碼物件
- 4.在二維碼中放置logo
- 5.配置對應資訊並呼叫函數
- 6.完整程式碼
- 最後
本文利用python產生一個自己想要的二維碼,其中程式碼做了註解並於相關知識的解答
一、準備
1、python環境
pip install套件名稱 安裝
pip install qrcode
#pip install pillow二、程式碼寫
1.引入庫
import qrcodefrom PIL import Imageimport osimport sys
qr = qrcode.QRCode( version=2, #25*25 二维码的版本号,每一个版本号对应一个尺寸,这里尺寸不是图片的大小而的是二维码长宽被分成的份数 error_correction=qrcode.constants.ERROR_CORRECT_H, #纠错容量,指二维码不完整时可以正常识别出原信息的概率(ERROR_CORRECT_H的纠错率最高) box_size=8, #生成图片的像素 border=1, #二维码边框宽度 )
3.得到二維碼物件
#
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格式
相關免費學習推薦:#########python教學#########(影片)#########5.配置對應資訊並呼叫函數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并不是二维码的一部分,会遮挡二维码的一部分,不能太大,否则无法识别登入後複製6.完整程式碼##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 ) #调用函数登入後複製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應用學習之qrcode產生二維碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。
