python自动生成数字并保存到图片_[宜配屋]听图阁

本文向大家分享了几段Python生成数字图片的代码,喜欢的朋友可以参考。具体如下:

最终版本

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

from PIL import Image,ImageFont,ImageDraw,ImageFilter

import random

import os

import time

class Code(object):

def __init__(self, imgSize=(35,35),\

fontSize=25, bgColor=(255,)*4, fontColor=(0,0,0)):

self.imgSize = imgSize

self.fontSize = fontSize

self.bgColor = bgColor

self.fontColor = fontColor

def setFontSize(self, size):

self.fontSize = size;

def getDigit(self, digit):

return str(digit)

def getPannel(self):

pannel = Image.new('RGBA',self.imgSize,self.bgColor)

return pannel

def getFont(self, fontFile='./Arial.ttf'):

return ImageFont.truetype(fontFile, self.fontSize)

def getTextPos(self, digit, font):

text = self.getDigit(digit)

textWidth,textHeight = font.getsize(text);

imgWidth,imgHeight = self.imgSize

textPos = ((imgWidth-textWidth)/2, (imgHeight-textHeight)/2)

return textPos

def rotateImg(self,image,angle=0, expand=0):

rot = image.rotate(angle, expand)

fff = Image.new('RGBA',rot.size,self.bgColor)

image = Image.composite(rot, fff, rot)

return image

def createImg(self, digit, font, angle):

codeImg = Image.new('RGBA',self.imgSize,self.bgColor)

draw = ImageDraw.Draw(codeImg);

text = self.getDigit(digit)

textPos = self.getTextPos(digit, font)

draw.text(xy=textPos,text=text,fill=self.fontColor,font=font)

codeImg = self.rotateImg(codeImg,angle)

return codeImg

def saveImg(self, img, savePath, imgName):

img.save(savePath+'/'+imgName)

def createPath(path):

if not os.path.exists(path):

os.makedirs(path)

def createImages(code,rootPath='./images',digitList=range(10), fontSi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值