1. 程式人生 > 程式設計 >Python3 使用pillow庫生成隨機驗證碼

Python3 使用pillow庫生成隨機驗證碼

Python3 使用pillow庫生成隨機驗證碼的程式碼如下所示:

import random
# pillow 包的使用
from PIL import Image,ImageDraw,ImageFont,ImageFilter
#Image   負責處理圖片
#ImageDraw 負責處理畫筆
#ImageFont 負責處理文字
#ImageFilter負責處理路徑
img=Image.new('RGB',(150,50),(255,255,255)) #建立一個圖片
'''
RGB:表示採用RGB方式新建的圖片
第二個:表示圖片的寬度和高度
第三個:表示具體圖片的顏色
'''
#建立畫筆
draw=ImageDraw.Draw(img)
#繪製線
for i in range(random.randint(1,10)):
  draw.line(
    [
      (random.randint(1,150),random.randint(1,50)),(random.randint(1,50))
    ],fill=(0,0)
  )
#繪製點
for i in range(1000):
  draw.point(
    [
      random.randint(1,150)
    ],0)
  )
fontlist=list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
c_char=' '.join(random.sample(fontlist,5))#在指定的列表中隨機取出指定個數的元素
#繪製字型 需要先定製一下字型
font=ImageFont.truetype('simsun.ttc',30)
draw.text((5,5),c_char,font=font,fill='green')
'''
第一個:代表文字的位置,距離上和左的位置
第二個:代表文字的內容
第三個:代表字型,字形和大小
第四個:字型顏色
'''
#扭曲字型
# params=[1-float(random.randint(1,2))/100,#     0,#     1-float(random.randint(1,#     float(random.randint(1,2))/500,#     0.001,1))/500,# ]
# img=img.transform((150,Image.PERSPECTIVE,params)
# img=img.filter(ImageFilter.EDGE_ENHANCE_MORE)
# 展示圖片
img.show()
# 將圖片儲存到本地
img.save('blur.jpg','jpeg')

總結

以上所述是小編給大家介紹的Python3 使用pillow庫生成隨機驗證碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!