captcha.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:music_recommend 作者: YeEmrick 项目源码 文件源码
def create_validate_code(size=(120, 30),
                         chars=init_chars,
                         img_type="GIF",
                         mode="RGB",
                         bg_color=(245, 245, 245),
                         fg_color=color_random,
                         font_size=24,
                         font_type=fontType,
                         length=4,
                         draw_lines=True,
                         n_line=(1, 2),
                         draw_points=True,
                         point_chance=2):
    '''
    @todo: ???????
    @param size: ?????????????????(120, 30)
    @param chars: ?????????????
    @param img_type: ???????????GIF?????GIF?JPEG?TIFF?PNG
    @param mode: ????????RGB
    @param bg_color: ??????????
    @param fg_color: ?????????????????#0000FF
    @param font_size: ???????
    @param font_type: ????????? ae_AlArabiya.ttf
    @param length: ???????
    @param draw_lines: ??????
    @param n_lines: ?????????????????(1, 2)???draw_lines?True???
    @param draw_points: ??????
    @param point_chance: ?????????????[0, 100]
    @return: [0]: PIL Image??
    @return: [1]: ??????????
    '''

    width, height = size  # ?? ?
    img = Image.new(mode, size, bg_color)  # ????
    draw = ImageDraw.Draw(img)  # ????
    if draw_lines:
        create_lines(draw, n_line, width, height)
    if draw_points:
        create_points(draw, point_chance, width, height)
    strs = create_strs(draw, chars, length, font_type, font_size, width, height, fg_color())

    # ??????
    params = [1 - float(random.randint(1, 2)) / 100,
              0,
              0,
              0,
              1 - float(random.randint(1, 10)) / 100,
              float(random.randint(1, 2)) / 500,
              0.001,
              float(random.randint(1, 2)) / 500
              ]
    img = img.transform(size, Image.PERSPECTIVE, params)  # ????

    img = img.filter(ImageFilter.EDGE_ENHANCE_MORE)  # ?????????????

    return img, strs
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号