這里示范的驗證碼都是簡單的,你也可以把字符扭曲

Python第三方庫無比強大,PIL 是python的一個d第三方圖片處理模塊,我們也可以使用它來生成圖片驗證碼
PIL安裝
命令安裝:
pip install pillow
下載源碼安裝:
復制地址 :https://github.com/python-pillow/Pillow
PIL使用
例子:生成圖片,并填充文字
#!/usr/bin/python#-*-coding:utf-8-*-from PIL import Image, ImageDraw, ImageFont, ImageFilter# 實例一個圖片對象240 x 60:width = 60 * 4height = 60# 圖片顏色clo = (43, 34, 88) # 我覺得是紫藍色image = Image.new('RGB', (width, height), clo)# 創建Font對象:# 字體文件可以使用操作系統的,也可以網上下載font = ImageFont.truetype('./font/Arial.ttf', 36)# 創建Draw對象:draw = ImageDraw.Draw(image)# 輸出文字:str1 = "ren ren Python"w = 4 #距離圖片左邊距離h = 10 #距離圖片上邊距離draw.text((w, h), str1, font=font)# 模糊:image.filter(ImageFilter.BLUR)code_name = 'test_code_img.jpg'save_dir = './{}'.format(code_name)image.save(save_dir, 'jpeg')print("已保存圖片: {}".format(save_dir))(venv) allenwoo@~/renren/code$ python test2.py 已保存圖片: ./test_code_img.jpg
圖片如下:

文字沒有什么色彩,我們也可以加上顏色,只需要在 text 中傳人 fill 參數就好
draw.text((w, h), str1, font=font, fill = (78, 64, 65))
隨便加的顏色

我們還可以把背景弄成很多個小點,每隔n隔像素填充個其他顏色比如:
#!/usr/bin/python#-*-coding:utf-8-*-from PIL import Image, ImageDraw, ImageFont, ImageFilter# 實例一個圖片對象240 x 60:width = 60 * 4height = 60# 圖片顏色clo = (43, 34, 88) # 我覺得是紫藍色image = Image.new('RGB', (width, height), clo)# 創建Font對象:# 字體文件可以使用操作系統的,也可以網上下載font = ImageFont.truetype('./font/Arial.ttf', 36)# 創建Draw對象:draw = ImageDraw.Draw(image)# 填充像素:# 寬每隔 20, 高每隔5, 形成坐標x,y# 紅色:220,20,60for x in range(0, width, 20):  for y in range(0, height, 5):    draw.point((x, y), fill=(220, 20, 60))# 輸出文字:str1 = "we are renren"w = 4 #距離圖片左邊距離h = 10 #距離圖片上邊距離draw.text((w, h), str1, font=font, fill = (78, 64, 65))# 模糊:image.filter(ImageFilter.BLUR)code_name = 'test_code_img.jpg'save_dir = './{}'.format(code_name)image.save(save_dir, 'jpeg')print("已保存圖片: {}".format(save_dir))            
| 
 
 | 
新聞熱點
疑難解答