欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 隨機(jī)生成中文驗(yàn)證碼的實(shí)例代碼

 更新時間:2013年03月20日 09:59:52   作者:  
Python 隨機(jī)生成中文驗(yàn)證碼的實(shí)例代碼,需要的朋友可以參考一下

python代碼

復(fù)制代碼 代碼如下:

 # -*- coding: utf-8 -*-

 import Image,ImageDraw,ImageFont

 import random

 import math, string  

 class RandomChar():

   """用于隨機(jī)生成漢字"""

   @staticmethod

   def Unicode():

     val = random.randint(0x4E00, 0x9FBF)

     return unichr(val)  

   @staticmethod

   def GB2312():

     head = random.randint(0xB0, 0xCF)

     body = random.randint(0xA, 0xF)

     tail = random.randint(0, 0xF)

     val = ( head << 8 ) | (body << 4) | tail

     str = "%x" % val

     return str.decode('hex').decode('gb2312')  

  

 class ImageChar():

   def __init__(self, fontColor = (0, 0, 0),

                      size = (100, 40),

                      fontPath = 'wqy.ttc',

                      bgColor = (255, 255, 255),

                      fontSize = 20):

     self.size = size

     self.fontPath = fontPath

     self.bgColor = bgColor

     self.fontSize = fontSize

     self.fontColor = fontColor

     self.font = ImageFont.truetype(self.fontPath, self.fontSize)

     self.image = Image.new('RGB', size, bgColor)  

   def rotate(self):

     self.image.rotate(random.randint(0, 30), expand=0)  

   def drawText(self, pos, txt, fill):

     draw = ImageDraw.Draw(self.image)

     draw.text(pos, txt, font=self.font, fill=fill)

     del draw  

   def randRGB(self):

     return (random.randint(0, 255),

            random.randint(0, 255),

            random.randint(0, 255))  

   def randPoint(self):

     (width, height) = self.size

     return (random.randint(0, width), random.randint(0, height))  

   def randLine(self, num):

     draw = ImageDraw.Draw(self.image)

     for i in range(0, num):

       draw.line([self.randPoint(), self.randPoint()], self.randRGB())

     del draw  


   def randChinese(self, num):

     gap = 5

     start = 0

     for i in range(0, num):

       char = RandomChar().GB2312()

       x = start + self.fontSize * i + random.randint(0, gap) + gap * i

       self.drawText((x, random.randint(-5, 5)), RandomChar().GB2312(), self.randRGB())

       self.rotate()

     self.randLine(18)  

   def save(self, path):

     self.image.save(path)

調(diào)用方法

復(fù)制代碼 代碼如下:

 ic = ImageChar(fontColor=(100,211, 90))

 ic.randChinese(4)

 ic.save("1.jpeg")

相關(guān)文章

  • python xlwt模塊的使用解析

    python xlwt模塊的使用解析

    這篇文章主要介紹了python xlwt模塊的使用解析,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • 使用Python獲取愛奇藝電視劇彈幕數(shù)據(jù)的示例代碼

    使用Python獲取愛奇藝電視劇彈幕數(shù)據(jù)的示例代碼

    這篇文章主要介紹了用Python獲取愛奇藝電視劇彈幕數(shù)據(jù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡單處理和分析

    python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡單處理和分析

    這篇文章主要介紹了python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡單處理和分析的實(shí)例,幫助大家更好的理解和學(xué)習(xí)使用python。感興趣的朋友可以了解下
    2021-04-04
  • Python hashlib和hmac模塊使用方法解析

    Python hashlib和hmac模塊使用方法解析

    這篇文章主要介紹了Python hashlib和hmac模塊使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • 解決Django migrate No changes detected 不能創(chuàng)建表的問題

    解決Django migrate No changes detected 不能創(chuàng)建表的問題

    今天小編就為大家分享一篇解決Django migrate No changes detected 不能創(chuàng)建表的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 在OpenCV里實(shí)現(xiàn)條碼區(qū)域識別的方法示例

    在OpenCV里實(shí)現(xiàn)條碼區(qū)域識別的方法示例

    這篇文章主要介紹了在OpenCV里實(shí)現(xiàn)條碼區(qū)域識別的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Android Q之氣泡彈窗的實(shí)現(xiàn)示例

    Android Q之氣泡彈窗的實(shí)現(xiàn)示例

    這篇文章主要介紹了Android Q之氣泡彈窗的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python 實(shí)現(xiàn)倒排索引的方法

    python 實(shí)現(xiàn)倒排索引的方法

    今天小編就為大家分享一篇python 實(shí)現(xiàn)倒排索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Pytest如何使用skip跳過執(zhí)行測試

    Pytest如何使用skip跳過執(zhí)行測試

    這篇文章主要介紹了Pytest如何使用skip跳過執(zhí)行測試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • python如何實(shí)現(xiàn)數(shù)組反轉(zhuǎn)

    python如何實(shí)現(xiàn)數(shù)組反轉(zhuǎn)

    這篇文章主要介紹了python如何實(shí)現(xiàn)數(shù)組反轉(zhuǎn)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論