使用 PIL 处理图片与生成验证码

文章顶部广告位
728×90 或 336×280

一、引言

PIL(Pillow)是 Python 图像处理库!简单易用!

💡 库名是 Pillow,导入用 from PIL import Image

二、安装

pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

三、基本操作

from PIL import Image, ImageFilter

# 打开图片
img = Image.open("test.jpg")
print("尺寸:", img.size)
print("格式:", img.format)
print("模式:", img.mode)

# 调整大小
img_resized = img.resize((400, 300))
img_resized.save("resized.jpg")

# 转灰度
img_gray = img.convert("L")
img_gray.save("gray_pillow.jpg")

# 模糊
img_blur = img.filter(ImageFilter.BLUR)
img_blur.save("blur.jpg")

# 旋转
img_rot = img.rotate(45)
img_rot.save("rotated.jpg")

四、简单验证码生成(示例)

from PIL import Image, ImageDraw, ImageFont
import random

# 创建画布
width, height = 200, 80
img = Image.new('RGB', (width, height), color=(255, 255, 255))
draw = ImageDraw.Draw(img)

# 随机生成4个字符
chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"
code = "".join(random.sample(chars, 4))

# 画文字(需要字体文件,这里简化
draw.text((50, 20), code, fill=(0, 0, 0))

# 画干扰线
for _ in range(5):
    x1 = random.randint(0, width)
    y1 = random.randint(0, height)
    x2 = random.randint(0, width)
    y2 = random.randint(0, height)
    draw.line((x1, y1, x2, y2), fill=(200, 200, 200))

img.save("captcha.png")
print("验证码:", code)

总结

通过本章学习,你应该已经掌握了「使用 PIL 处理图片与生成验证码」的相关知识。

模块8完成!下一章模块9!

文章中间广告位
600×300 或 300×250
← 上一篇 下一篇 →
文章底部广告位
728×90 或 300×250