欢迎来到Louis的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

python 图片操作库pillow

pillow属于第三方库,需要安装

from PIL import Image, ImageFilter,ImageDraw,ImageFont
import random
#
im = Image.open("ertou.jpeg")#打开图片
# # im.show()
# w, h = im.size #获得图片尺寸
# # im.thumbnail((w//2,h//2)) #缩放图片,50%比例
# # im.show()   #打开图片
# # im.save("thumbnail.jpeg", "jpeg") #以JPEG格式保存缩放后的图片,
# # im2 =im.filter(ImageFilter.BLUR)
# # im2.save("blur.jpg",'jpeg')




#随机字母
def rnd_char():
    return chr(random.randint(65, 90)) #获取大写字母A-Z


#随机颜色1
def rnd_color():
    return random.randint(64, 255), random.randint(64, 255), random.randint(64, 255)


#随机颜色2
def rnd_color2():
    return random.randint(32, 127), random.randint(32, 127), random.randint(32, 127)


width = 60 * 4
height = 60
image = Image.new("RGB", (width, height), (255, 255, 255))
#创建Font对象:
font = ImageFont.truetype("Arial.ttf", 36)
#创建Draw:
draw = ImageDraw.Draw(image)

for x in range(width):   #使用随机颜色填充画布
    for y in range(height):
        draw.point((x, y), fill=rnd_color())

for t in range(4):
    draw.text((60*t + 10, 10), rnd_char(), font=font, fill=rnd_color2()) #画笔接收4个参数,画布的定位,写入字符,字体,颜色

image = image.filter(ImageFilter.BLUR)                                  #
image.save("code.jpg", "jpeg")
生成随机验证码图片
from PIL import Image, ImageFont, ImageDraw, ImageColor

def insert_num(image, num):
    im = Image.open(image)          #打开图片
    w, h = im.size                  #获取文件尺寸
    draw = ImageDraw.Draw(im)       #使用图片作为画布
    font = ImageFont.truetype("Arial.ttf", 120)   #定义字体
    fillcolor = ImageColor.colormap.get('red')      #获取红色的rgb值

    draw.text((w*0.8, h*0.1), str(num), font=font, fill=fillcolor)  #画笔接收4个参数,定位,写入字符,字体,颜色
    # draw.text((w*0.8, h*0.1), str(num), font=font, fill=(220,20,60))  #也可以直接传入rgb值组成的元组
    im.save("%s_%s.jpeg" % (image.split(".")[0], num), "jpeg")      #保存文件


insert_num("ertou.jpeg", num=20)
头像右上角添加数字

 

posted on 2018-08-13 23:18  Louiszj  阅读(229)  评论(0)    收藏  举报

导航