ImageDraw, ImageFont

简介: 【9月更文挑战第25天】

ImageDraw 和 ImageFont 功能及代码使用详解

在Python的图像处理库Pillow中,ImageDrawImageFont 是两个非常强大的模块,它们可以用来在图像上进行绘制操作和文本渲染。

ImageDraw 模块

ImageDraw 模块提供了简单的二维图形绘制功能,包括绘制线条、矩形、椭圆、多边形、圆形等基本图形,以及在图像上添加文本。

功能:

  • 绘制线条:使用 line() 方法。
  • 绘制矩形:使用 rectangle() 方法。
  • 绘制椭圆和圆形:使用 ellipse() 方法。
  • 绘制多边形:使用 polygon() 方法。
  • 绘制文本:使用 text() 方法,需要配合 ImageFont 使用。

代码示例

from PIL import Image, ImageDraw, ImageFont

# 创建图像对象
image = Image.new('RGB', (200, 100), color=(255, 255, 255))
draw = ImageDraw.Draw(image)

# 绘制文本
font = ImageFont.truetype("arial.ttf", 15)
draw.text((10, 10), "Hello, PIL", fill=(0, 0, 0), font=font)

# 显示图像
image.show()

ImageFont 模块

ImageFont 模块用于定义字体对象,这些对象可以被 ImageDraw 模块中的 text() 方法使用来在图像上绘制文本。

功能:

  • 加载TrueType或OpenType字体:使用 truetype() 方法。
  • 获取文本的尺寸:使用 getsize() 方法。

代码示例

from PIL import Image, ImageDraw, ImageFont

# 创建图像对象
image = Image.new('RGB', (300, 150), color=(255, 255, 255))
draw = ImageDraw.Draw(image)

# 加载字体
font = ImageFont.truetype('arial.ttf', size=36)

# 绘制文本
draw.text((50, 50), 'Hello, PIL', fill=(0, 0, 0), font=font)

# 显示图像
image.show()
目录
相关文章
|
机器学习/深度学习 Shell 算法框架/工具
【姿态估计】实操记录:使用Dlib与mediapipe进行人脸姿态估计
【姿态估计】实操记录:使用Dlib与mediapipe进行人脸姿态估计
2007 0
|
11月前
|
传感器 机器学习/深度学习 编解码
NEON LiDAR 数据导出的地表数字模型 (DSM) 和地形数字模型 (DTM)1m分辨率
NEON LiDAR 数据导出的地表数字模型 (DSM) 和地形数字模型 (DTM),分辨率为1米。DSM 包含地表特征(植被和建筑物),DTM 则为裸地高程信息。数据覆盖2013年至今,适用于生态与地形研究。提供 DTM 和 DSM 两个波段,值范围为0-3500米,单位为米。数据遵循 CC0 1.0 协议,无版权限制,鼓励广泛使用。
271 66
|
机器学习/深度学习 数据可视化
Jupyter Notebook中查看程序运行时间的技巧
Jupyter Notebook中查看程序运行时间的技巧
1681 0
|
数据采集 存储 XML
高级网页爬虫开发:Scrapy和BeautifulSoup的深度整合
高级网页爬虫开发:Scrapy和BeautifulSoup的深度整合
|
存储 关系型数据库 MySQL
|
计算机视觉 Python
将图像处理为灰度图和二值化图
【7月更文挑战第28天】将图像处理为灰度图和二值化图。
341 3
|
Python Windows
moviepy:基于 ffmpeg 的视频处理模块
moviepy:基于 ffmpeg 的视频处理模块
465 0
|
机器学习/深度学习 算法 数据处理
构建自定义机器学习模型:Scikit-learn的高级应用
【4月更文挑战第17天】本文探讨了如何利用Scikit-learn构建自定义机器学习模型,包括创建自定义估计器、使用管道集成数据处理和模型、深化特征工程以及调优与评估模型。通过继承`BaseEstimator`和相关Mixin类,用户可实现自定义算法。管道允许串联多个步骤,而特征工程涉及多项式特征和自定义变换。模型调优可借助交叉验证和参数搜索工具。掌握这些高级技巧能提升机器学习项目的效果和效率。
|
存储 缓存 监控
Memcached介绍和详解
Memcached介绍和详解
670 3
|
Python
Python 使用 pyinstaller 打包成 exe/app 文件,并支持传入外部参
Python 使用 pyinstaller 打包成 exe/app 文件,并支持传入外部参
516 0