1. 程式人生 > >python生成隨機圖片驗證碼

python生成隨機圖片驗證碼

from PIL import Image,ImageDraw,ImageFont,ImageFilter
import random
import string
chars=string.digits+string.ascii_letters
chars=random.sample(chars,4)
print(chars)
def rndColor():  #產生隨機顏色
    return (random.randint(64,255),random.randint(64,255),random.randint(64,255))


def rndChar(i):  #產生隨機字母
    return chars[i]
    #return chr(random.randint(65,90))
def rndColor2(): 
    return (random.randint(30,120),random.randint(30,120),random.randint(30,120))


height=60
width=240
image=Image.new('RGB',(width,height),(255,255,255))  #白色畫布
font=ImageFont.truetype("C:\Windows\Fonts\Arial.ttf",36)        #畫筆字型
draw=ImageDraw.Draw(image)   #繪畫物件
for i in range(width):
    for j in range(height):
        draw.point((i,j),fill=rndColor())     #隨機逐畫素填充顏色


for i in range(4):
    draw.text((60*i+10,10),rndChar(i),font=font,fill=rndColor2())  #文字繪畫


image=image.filter(ImageFilter.BLUR)  #產生模糊感
image.save('code.jpg','jpeg')
image.show()