Python中的PIL生成隨機驗證碼

github博客傳送門
csdn博客傳送門python

字體包和源碼文件連接
https://download.csdn.net/download/zhanghao3389/10663672git

生成一個隨機的大寫字母驗證碼圖片github

from PIL import Image, ImageDraw, ImageFont
#               圖片    圖片生成,畫圖  字體包
import random                           # 導入random包


def ascii():                            # 隨機生成一個字母
    return chr(random.randint(65, 90))  # 將生成的整數 65-90 轉換ascii碼 爲字母


def randomcolor():                      # 隨機生成顏色 三個通道
                                        # 生成三個隨機的像素值 在64-255之間的值
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))  


width = 250                             # 圖片的邊界 寬
height = 60                             # 圖片的邊界 高
# 新建一個      RGB 圖片 長寬(width,height)的 (255,255,255)白底
image = Image.new("RGB", (width, height), (255, 255, 255))
# 導入一個字體包 建立font對象 字體對象  # 字體包本身在本身 C 盤搜索 .ttf 也可搜索出來本身須要的
font = ImageFont.truetype("Merriweather-Black.ttf", 36)  
draw = ImageDraw.Draw(image)            # 建立一個能夠在給定圖像上繪圖的對象。
# 在白底的圖片上 填充像素
for x in range(width):                  # 遍歷圖片的像素 寬 的次數
    for y in range(height):             # 遍歷圖片的像素 高 的次數
        draw.point((x, y), fill=randomcolor())  # 填充遍歷的 x,y 座標 填入一個 隨機的 rgb值

# 在填充像素後的圖片上 填充文字
for i in range(4):
    #            設置間距          隨機字母    字體包         隨機顏色
    draw.text((60 * i + 10, 10), ascii(), font=font, fill=randomcolor())
image.show()  # 展現這張圖片
相關文章
相關標籤/搜索