python3實現隨機生成驗證碼圖片並存儲

import Image
import ImageDraw
import random
import  ImageFont
#定義隨機字符,定義隨機顏色,把隨機顏色填充到畫布上,在畫布上定義隨機字符
#隨機字符方法
def getchar():
    if random.randint(0,1):
        return chr(random.randint(65, 90))
    else:
        return str(random.randint(0,9))

#定義隨機顏色
def getcolor():
    return (random.randint(0,255), random.randint(0,255), random.randint(0,255),)
#Image.new()
if __name__ == '__main__':
    WIDTH =260
    HEIGHT = 80
    font_list = []
    #定義一個圖片背景
    im = Image.new(mode="RGB", size = (WIDTH, HEIGHT), color = (255, 255, 255))
    #給背景圖加隨機顏色
    dr = ImageDraw.Draw(im = im)
    #循環遍歷每一個像素點
    for x in range(WIDTH):
        for y in range(HEIGHT):
            dr.point(xy = (x, y), fill = getcolor())
    #定義字體
    #往圖像上添加隨機字符
    x = 20
    for i in range(4):
        font_list = ["01.TTF", "02.TTF", "03.TTF", "04.TTF", "05.TTF", "06.TTF", "07.TTF"]
        font = ImageFont.truetype(font=font_list[random.randint(0, 6)], size=60)
        dr.text(xy=(x,10), text=getchar(), font=font, fill=getcolor())
        x += 60
    im.show()
    im.save("驗證碼.png", "PNG")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章