ImageDraw模块
- ImageDraw模块实现了绘图功能
- 通过创建图片的方式来绘制2D图像,还可以在原有图片上进行绘图,以达到修饰图片或者对图片进行注释的目的
- 在ImageDraw模块绘图时需要首先创建一个ImageDraw.Draw对象,传入一个图片实例
- 使用Draw对象方法进行绘图
获取Draw对象
img = Image.open("文件路径")
pen = ImageDraw.Draw(img)
(1) 绘制直线
def line(self, [x1,y1,x2,y2], fill=None, width=0, joint=None)
- 以(x1,y1)为起点,以(x2,y2)为终点,画一条fill颜色的,宽为width的实线
(2) 绘制圆弧
def arc(self, [x1,y1,x2,y2], start, end, fill=None, width=1)
- 在左上角坐标为(x1,y1),右下角坐标为(x2,y2)的矩形区域内
- 满圆 O 内,以 start 为 起始角度,以 end 为终止角度,截取圆 O 的一部分圆弧并画出来
- 如果[x1,y1,x2,y2]区域不 是正方形,则在该区域内的最大椭圆中根据角度截取片段
- 参数 fill 和 width 与 line 方法相同
(3) 绘制椭圆
def ellipse(self, [x1,y1,x2,y2], fill=None, outline=None, width=1)
- 用法同 arc 类似,用于画圆(或者椭圆)
- outline 表示只规定圆的颜色。
(4) 绘制弦
def chord(self, [x1,y1,x2,y2], start, end, fill=None, outline=None, width=1)
- 用法同 arc 类似,用于画圆中从 start 到 end 的弦
- fill 表示弦与圆弧之间空间用指定颜 色填满,设置为 outline 表示只规定弦线的颜色
(5) 绘制扇形
def pieslice(self, [x1,y1,x2,y2], start, end, fill=None, outline=None, width=1)
- 用法同 elipse 类似,用于画起止角度间的扇形区域
- fill 表示将扇形区域用指定颜色填满,设置为 outline 表示只用指定颜色描出区域轮廓
(6) 绘制多边形
def polygon(self, [x1,y1,x2,y2], fill=None, outline=None)
- 根据坐标画多边形,Python 会根据第一个参量中的(x,y)坐标对,连接出整个图形
- fill 表示将多边形区域用指定颜色填满,outline 只用于设置指定颜色描出区域轮廓
(7) 绘制矩形
def rectangle(self, [x1,y1,x2,y2], fill=None, outline=None, width=1)
- 在指定的区域内画一个矩形,(x1,y1)表示矩形左上角的坐标,(x2,y2)表示矩形右下角的坐标
- fill 用于将矩形区域颜色填满,outline 用于描出区域轮廓
(8) 绘制文字
def text(
self,
xy,
text,
fill=None,
font=None,
anchor