captcha_生成圖片驗證碼並返回給前端展示


 使用pip install captcha 安裝模塊

import random
import string
import os
import io

from captcha.image import ImageCaptcha, random_color


def generate_captcha():
    # # 返回大寫字母
    # uppercase = string.ascii_uppercase
    # # 返回小寫字母
    # lowercase = string.ascii_lowercase
    # 返回大小寫字母
    letters = string.ascii_letters
    # 返回數字
    digits = string.digits
    
    # 隨機選取 4 個字符
    random_str = ''.join([random.choice(digits+letters) for j in range(4)])
    
    width, height = 170, 80
    
    # 創建圖片生成器
    generator = ImageCaptcha(width=width, height=height)
    
    # 創建驗證碼圖片
    img = generator.create_captcha_image(chars=random_str, color=random_color(1, 255), background=random_color(1, 255))
    
    # 為圖片增加干擾點
    generator.create_noise_dots(img, random_color(1, 255))
    # 為圖片增加干擾線
    generator.create_noise_curve(img, random_color(1, 255))
    
    # 展示圖片(展示圖片的操作與上面保不保存無關)
    img.show()
    
    # 保存生成的圖片到本地
    fileName = "saveImg"
    if not os.path.exists(fileName):
        os.mkdir(fileName)
    img.save("%s/%s.png" % (fileName, random_str))
    
    # 將圖片保存到緩存中
    buffer = io.BytesIO()
    img.save(buffer, 'PNG')
    # 讀取圖片的byte值
    image_data = buffer.getvalue()
    buffer.close()

    return random_str, image_data

生成的驗證碼樣式如下

 

前端展示效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM