用python生成验证码图片


                上网找了半天,找到一个PyCAPTCHA可以用(需要安装pil)。代码是生成中文的验证图,
需要在Captcha\data\fonts目录里面建一个子目录cn再copy一个中文字体进去就可以了,
我copy的是幼园(simyou.ttf)。如果是英文验证码的话,用自代的字体就可以了。代码里
面把FontFactory的参数改一下就可以了。
代码如下:
               
               
               
# -*- coding: utf-8 -*-
from Captcha.Visual import Text, Backgrounds, Distortions, ImageCaptcha
from Captcha import Words
class cnfont_create(ImageCaptcha):
    """A fixed-solution CAPTCHA that can be used to hide email addresses or URLs from bots"""
    fontFactory = Text.FontFactory(30, "cn/simyou.ttf")
    defaultSize = (150,40)
    def getLayers(self, solution=u'测试啊测试'):
        self.addSolution(solution)
        textLayer = Text.TextLayer(solution,
                                   borderSize = 2,
                                   fontFactory = self.fontFactory)
        return [
            Backgrounds.CroppedImage(),
            textLayer,
            Distortions.SineWarp(amplitudeRange = (4, 4)),
            ]
g = cnfont_create()
i = g.render()
i.save("output.png")