Python Pillow ImageDraw模块
图片绘图模块 ‘ImageDraw’ 提供了对Image对象的简单2D图形支持。通常,我们使用该模块创建新的图像,为现有图像添加注释或修饰,并生成用于网络的动态图形。
图形命令支持绘制形状和文本注释。
- 可以将图像视为二维像素(图元)数组。像素是最小支持的色彩点。
-
ImageDraw使用的二维坐标系原点位于图像的 左上角 。
-
我们使用的颜色方案为RGB。颜色的RGB表示和支持由模块 ImageColor 提供。
-
文本注释使用位图、OpenType或TrueType字体。
-
大多数绘图命令可能需要一个边界框参数,该参数指定应用命令的图像区域。
-
一系列坐标可以表示为[(x0, y0), (x1, y1),…(xn, yn)]。
-
对于某些绘图命令,我们需要角度值。
示例
以下Python示例在给定的图像上绘制一条直线-
输出
如果你将上述程序保存为Example.py并执行,它会在图像上画一条线并使用标准的PNG显示实用工具显示出来,如下所示 –
画布
- ImageDraw是Pillow中的可绘制表面(即,画布)的图像。
-
ImageDraw.Draw(img)返回Image参数img的可绘制画布表示。画布的背景是”img”图像。
示例
以下Python示例在给定的图像上绘制文本。
输出
使用’ImageDraw’模块绘制形状
ImageDraw模块允许我们通过首先创建一个与所需图像关联的绘制对象,然后应用它来创建不同的形状。使用’ImageDraw’模块可以绘制的一些常见形状如下:
直线
以下是使用Python Pillow绘制直线的语法:
line() 方法将从边界框xy和画布的左上角绘制一条线到右下角。该线使用填充颜色进行填充。 fill和width这两个参数是可选的,默认值分别为None和0。
示例
输出
椭圆
以下是使用Python Pillow绘制椭圆的语法 –
ellipse() 方法在draw时绘制由包围框xy围成的椭圆。形状使用颜色填充,周边使用颜色描边。参数fill和width的默认值都是None,它们是可选的。
示例
输出
矩形
下面是使用Python Pillow绘制矩形的语法 –
rectangle()方法会在画布上绘制给定边界框xy的矩形。该形状会用填充颜色fill进行填充,边框会用颜色outline进行描边。fill和width参数的默认值为None,它们是可选参数。
输出
多边形
以下是使用Python Pillow绘制矩形的语法 –
polygon() 方法在绘图上通过直线连接坐标序列位置seq来绘制多边形。seq中的第一个和最后一个坐标也用直线连接。形状以填充颜色fill和轮廓颜色outline显示。参数fill和outline是可选的,默认值为None。