• Pillow(PIL)库的主要方法介绍


    在这里插入图片描述

    Pillow(Python Imaging Library)是Python中一个强大的图像处理库,它允许你进行图像的创建、打开、编辑、保存和显示等操作。Pillow 是 PIL(Python Imaging Library)的分支,支持多种图像格式,并提供了各种图像处理功能。下面,我将对 Pillow 库的主要方法进行详细介绍,然后演示如何使用 Pillow 创建图片并写入文字,以及如何生成验证码。

    Pillow 库的重要函数方法:

    1. Image.open(file, mode=‘r’):

      • 打开图像文件。
      from PIL import Image
      
      img = Image.open('example.jpg')
      
      • 1
      • 2
      • 3
    2. **Image.save(filename, format=None, params):

      • 保存图像到文件。
      img.save('output.jpg')
      
      • 1
    3. Image.new(mode, size, color=0):

      • 创建一个新的图像。
      img = Image.new('RGB', (200, 100), color='red')
      
      • 1
    4. Image.show(title=None, command=None):

      • 显示图像。
      img.show()
      
      • 1
    5. Image.resize(size, resample=0):

      • 调整图像的大小。
      resized = img.resize((300, 150))
      
      • 1
    6. Image.crop(box=None):

      • 裁剪图像。
      cropped = img.crop((50, 50, 150, 150))
      
      • 1
    7. Image.rotate(angle, resample=0, expand=0, center=None, translate=None, fillcolor=None):

      • 旋转图像。
      rotated = img.rotate(45)
      
      • 1
    8. ImageDraw.Draw(im, mode=None):

      • 创建一个可用于在图像上绘制的对象。
      draw = ImageDraw.Draw(img)
      
      • 1
    9. ImageFont.truetype(font, size, index=0, encoding=‘’):

      • 指定字体文件和大小。
      font = ImageFont.truetype('arial.ttf', size=36)
      
      • 1
    10. draw.text(xy, text, fill=None, font=None, anchor=None, spacing=0, align=“left”, direction=None):

      • 在图像上绘制文本。
      draw.text((20, 40), "Hello, Pillow!", fill='black', font=font)
      
      • 1
    11. Random 字符串生成示例:

      • 随机生成包含特定字符集的字符串。
      import random
      
      chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
      code = ''.join(random.choice(chars) for _ in range(4))
      
      • 1
      • 2
      • 3
      • 4

    创建验证码示例:

    下面是一个使用Pillow库创建验证码的示例:

    from PIL import Image, ImageDraw, ImageFont
    import random
    
    # 创建空白图像
    img = Image.new('RGB', (200, 100), color='white')
    draw = ImageDraw.Draw(img)
    font = ImageFont.truetype('arial.ttf', size=36)
    
    # 随机生成验证码文本
    chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
    code = ''.join(random.choice(chars) for _ in range(4))
    
    # 绘制验证码文本
    draw.text((20, 40), code, fill='black', font=font)
    
    # 保存验证码图像
    img.save('captcha.png')
    
    # 显示验证码图像
    img.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    这个示例演示了如何使用Pillow库创建一个包含随机生成文本的验证码图像,然后保存和显示该图像。你可以根据需要自定义验证码的大小、颜色、字体等。

  • 相关阅读:
    ps打开找不到MSVCP140.dll重新安装方法,安装ps出现msvcp140.dll缺失解决方法
    JAVA+VUE3.0+MINIO 大文件上传(极速上传,分片上传)
    ubuntu 22.04 深度学习环境配置
    创建TCP通信与粘包问题解决
    Android 13.0 Settings主页面去掉FocusRecyclerView相关功能
    含文档+PPT+源码等]精品基于Uniapp+SSM实现的记账app[包运行成功]Android毕业设计Java项目源码论文
    从头开始实现YOLOV3
    ZooKeeper常见面试题
    通过ssh远程登录linux的原理过程和配置免密登录
    Elasticsearch同义词最佳实践
  • 原文地址:https://blog.csdn.net/weixin_53742691/article/details/134001586