python的pillow库应用_Python中Pillow图像处理库(PIL Fork)的应用

本文介绍了如何使用Python的Pillow库进行图像处理,包括打开图片、创建新图片、添加文字、模糊效果等功能。通过示例代码展示了如何在图片右上角添加红色数字,以及创建带有随机字母和模糊效果的背景图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文所用到的:Image模块

Image.open(路径) 打开图片

Image.new(mode, size, color=0) 创建一个新图片ImageDraw模块

ImageDraw.Draw(im, mode=None) im为image的对象

ImageDraw.Draw.point(xy, fill=None) xy为坐标 fill是填充颜色

ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None, spacing=0, align="left") 填写文字ImageFilter模块

im1 = im.filter(ImageFilter.BLUR) 模糊ImageFont模块

ImageFont.truetype(font=None, size=10, index=0, encoding='') 设置字体将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

0ddbb5024c3b1c644ee56ea048e138ff.pngfrom PIL import Image, ImageFont, ImageDraw

def addNum(image):

font = ImageFont.truetype('arial.ttf', 36)

fillcolor = "#ff0000" #红色

draw = ImageDraw.Draw(image)

draw.text((image.size[0]-20, 0), '1', font=font, fill=fillcolor)

if __name__ == '__main__':

image = Image.open('/python/mypicture.jpg')

addNum(image)

image.show()import string

import random

from PIL import Image, ImageFont, ImageDraw, ImageFilter

IMAGE_MODE = 'RGB'

IMAGE_FONT = 'arial.ttf'

def randomchar():

return random.choice(string.ascii_letters)

def randomcolor():

return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

def backgroundcolor():

return (random.randint(32,127), random.randint(32,127), random.randint(32,127))

height = 60

width = height * 5

image = Image.new(IMAGE_MODE, (width, height), (255, 255, 255))

# 创建font对象

font = ImageFont.truetype(IMAGE_FONT, 36)

# 创建draw对象

draw = ImageDraw.Draw(image)

# 向图像填充颜色

for x in range(width):

for y in range(height):

draw.point((x, y), fill=backgroundcolor())

# 向图像填写字母

for i in range(4):

draw.text((height * i + 10, 10), randomchar(), font=font, fill=randomcolor())

# 模糊效果

image = image.filter(ImageFilter.BLUR)

image.save('code.jpg', 'jpeg')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值