aggdraw使用说明
aggdraw 模块在 AGG 库之上实现了基本的 WCK 2D 绘图接口。该库提供高质量的绘图、抗锯齿和 alpha 合成。
官方文档: https://aggdraw.readthedocs.io/en/latest/
Github: https://github.com/pytroll/aggdraw
安装
pip install aggdraw
说明
官方文档写得比较简单。我这里记录了下自己用到过的方法,以及参数说明。本文参考aggdraw源码
注意:
1、当前文档参考的1.3.16版本。如果版本不同可能会有差异。
2、参数需按照顺序传入。
aggdraw创建图片的大致流程,先创建Image对象,再创建Draw对象。然后创建画笔和刷子,这里画笔是用于边框绘制,刷子用于填充形状内部区域,然后绘制形状,最后调用flush()刷新到Image对象。
程序示例
|
|
参考
传入参数,需按照表格从上到下顺序。
Draw
创建一个绘图对象。
参数 | 说明 |
---|---|
img | 传入PIL.Image.Image对象 |
Draw的方法包括:line、polygon、rectangle、rounded_rectangle、text、textsize、path、symbol、arc、chord、ellipse、pieslice、settransform、setantialias、flush、expose、clear、frombytes、tobytes。
以下只记录我用到的。
Pen
画笔,用于绘制边框和线。
参数 | 说明 |
---|---|
color | 画笔颜色 tuple (R, G, B) 或者 “#RGB” |
width | 绘制出的线的宽度。默认1。 |
opacity | 透明度。默认255。 |
Brush
刷子,用于绘制边框和线。
参数 | 说明 |
---|---|
color | 画笔颜色 tuple (R, G, B) 或者 “#RGB” |
opacity | 透明度。默认255。 |
Brush
刷子,用于绘制边框和线。
参数 | 说明 |
---|---|
color | 画笔颜色 tuple (R, G, B) 或者 “#RGB” |
opacity | 透明度。默认255。 |
line
绘制线段
参数 | 说明 |
---|---|
xy | (x, y, x, y, …) |
pen | 画笔 |
|
|
polygon
绘制多边形
参数 | 说明 |
---|---|
xy | (x, y, x, y, …) |
pen | 画笔 |
brush | 刷子 |
rectangle
绘制矩形
参数 | 说明 |
---|---|
xy | (x, y, x, y, …) |
pen | 画笔 |
brush | 刷子 |
text
绘制文字
参数 | 说明 |
---|---|
xy | (x, y) |
text | 要绘制的文字 |
font | 字体 aggdraw.Font() |