上一節:php
<<怎樣用Python討您的女友歡心(附源碼)>>html
面對廣大鋼鐵直男的需求,再次作一期與女友相關的文章。將你要對女友說的悄悄話,保存在圖片裏,掃描二維碼纔可見哦!python
qrcode使用說明:https://github.com/lincolnloop/python-qrcode#advanced-usage
pillow使用手冊:https://pillow-cn.readthedocs.io/zh_CN/latest/
複製代碼
qrcode使用說明:github.com/lincolnloop… pillow使用手冊:pillow-cn.readthedocs.io/zh_CN/lates… 上面爲有不懂的請查看使用手冊,可是是英文版的哦~!git
開始Coding...github
一點點來開發,不要急於求成:函數
此次的課程,咱們要用到qrcode模塊,pil模塊也要用,沒有下載的請根據上面的步驟進行下載哦。這些模塊咱們都有了,因此直接導入:
複製代碼
# 導入模塊
import qrcode
from PIL import Image, ImageFilter,ImageFont,ImageDraw
複製代碼
打開同文件夾下面的圖片,而後調用filter對圖片進行高斯模糊,後面的半徑值越大,模糊效果越明顯:
複製代碼
im = Image.open('s.jpg')
#對圖片進行模糊效果 模糊值,越大越模糊
im2 = im.filter(ImageFilter.GaussianBlur(radius=20))
複製代碼
原則上,很簡單就能實現二維碼,以下面代碼:
複製代碼
# 生成二維碼
img = qrcode.make("關注MilFun,學習有趣的知識!")
複製代碼
可是爲了咱們實際的須要,咱們作些改變:
複製代碼
# 生成二維碼內容
def code(cid):
# 設置二維碼數據
if cid==1 :
# 你在我公衆號【米飯聯盟】獲取的key值
data = 'https://milfun.fun/m/Camer/index.php/Home/Index/makepic.html?key=6OfgBkRk'
else:
# 你想要在二維碼裏面隱藏的話。
data ="親愛的\n日後餘生,風雪是你,\n平淡是你,清貧也是你\n😘😘😘😘😘😘\n榮華是你,心底溫柔是你,\n目光所致,也是你"
# 生成二維碼
qr = qrcode.QRCode(
version=1, #二維碼的格子矩陣大小,能夠是1到40,1最小爲21*21,40是177*177
error_correction=qrcode.constants.ERROR_CORRECT_L, #二維碼錯誤允許率,默認ERROR_CORRECT_M,允許小於15%的錯誤率
box_size=5, #二維碼每一個小格子包含的像素數量
border=4, #二維碼到圖片邊框的小格子數,默認值爲4
)
qr.add_data(data=data)
# 啓用二維碼顏色設置
qr.make(fit=True)
# 二維碼的顏色 前景色 背景色
img = qr.make_image(fill_color="black", back_color="white")
return img
#根據你的需求來改下面的代碼
qrImg = code(2) #1爲掃二維碼去公衆號看原圖加文字,2爲掃二維碼直接看文字
複製代碼
把這功能定義成函數,而後根據須要調用,具體查看代碼裏面的註釋,我都寫了很清楚了。爲了配套這個代碼,我還寫了一個網頁,來實現公衆號查看隱藏的圖片,須要體驗,請點擊閱讀原文。
複製代碼
體驗操做gif: oop
二維碼生成好以後,咱們的兩張圖片就都處理好了,借用paste函數,將他們兩張圖黏貼在一塊兒:
複製代碼
# 二維碼放在底圖上,定位放在中間
im2.paste(qrImg,(int(im2.size[0]/2-qrImg.size[0]/2) , int(im2.size[1]/2-qrImg.size[1]/2)))
複製代碼
接下來就是你要寫一些說明,讓你們看了圖片就要掃二維碼,
複製代碼
# 寫字在最終圖上
strs = "掃碼查看我想對你說的話"
# 字體 字體 大小
font = ImageFont.truetype('方正喵嗚體.ttf', 30)
draw = ImageDraw.Draw(im2)
# 字的位置 x y 字的內容 字體 顏色rgb值
draw.text((im2.size[0]/2-160,im2.size[1]-50),strs , font=font, fill=(34,24,61))
複製代碼
圖片都作好了,就要查看一下,而後保存到本地,相同文件夾下面,而後,你能夠拿着圖片去找你女友啦!
複製代碼
# 發給女友
im2.show()
# 保存到本地
im2.save("qrImg.jpg")
複製代碼
運行一下代碼,出現下圖,掃碼:
複製代碼
掃描一下呢?出現下圖:
複製代碼
切換成第一中二維碼生成方式呢?
複製代碼
#根據你的需求來改下面的代碼 qrImg = code(1) # 2改爲1 你女友掃碼後,看見這樣:post
快來試一試吧!學習
python完整代碼測試
請發送【源碼】,今天文件名爲「img.zip」。
有什麼疑問,請添加小哥哥!
↓ ↓ ↓ 加小哥哥一塊兒學習吧 ↓ ↓ ↓