class documentation
class CairoTextDrawer(AbstractCairoDrawer): (source)
在Cairo上下文中绘制文本的类。
与原始的Cairo文本绘制方法不同,此类支持多行文本。
| 方法 | __init__ |
构造一个新的实例,该实例将在给定的Cairo context上绘制给定的text。 |
| 方法 | draw |
在绘图器的当前边界框内绘制文本。 |
| 方法 | draw |
通过在Cairo上下文中设置适当的路径并填充它来绘制文本。x 和 y 表示绘制的起始坐标。如果它们都是 None,则将使用上下文的当前位置。 |
| 方法 | get |
计算当前文本的布局。x 和 y 表示绘制的起始坐标。如果它们都是 None,则将使用上下文的当前位置。 |
| 方法 | text |
设置将要绘制的文本。 |
| 方法 | text |
返回文本的X-偏移、Y-偏移、宽度、高度、X-前进和Y-前进。 |
| 类变量 | BOTTOM |
未记录 |
| 类变量 | CENTER |
未记录 |
| 类变量 | LEFT |
未记录 |
| 类变量 | RIGHT |
未记录 |
| 类变量 | TOP |
未记录 |
| 实例变量 | halign |
未记录 |
| 实例变量 | valign |
未记录 |
| 属性 | text |
返回要绘制的文本。 |
| 方法 | _iterlines |
逐行遍历标签,并返回一个包含每行以下内容的元组:行本身、行的宽度和行的X轴偏移量。 |
| 方法 | _iterlines |
逐行遍历标签并返回一个元组,其中包含每行的以下内容:行本身、行的宽度和行的X-bearing。 |
| 实例变量 | _text |
未记录 |
继承自 AbstractCairoDrawer:
| 方法 | bbox |
设置此绘图器将绘制的绘图区域的边界框。 |
| 实例变量 | context |
未记录 |
| 属性 | bbox |
此绘图器将绘制的绘图区域的边界框。 |
| 方法 | _mark |
在画布上用一个小圆圈标记给定的点。主要用于调试目的。 |
| 实例变量 | _bbox |
未记录 |
在绘图器的当前边界框内绘制文本。
由于类本身是AbstractCairoDrawer的一个实例,它有一个名为bbox的属性,该属性将被用作边界框。
| 参数 | |
| wrap | 是否允许在文本不适合水平边界框时重新换行。 |
通过在Cairo上下文中设置适当的路径并填充它来绘制文本。x 和 y 表示绘制的起始坐标。如果它们都是 None,则将使用上下文的当前位置。
在此方法中不考虑垂直对齐设置,因为文本不是在框内绘制的。
| 参数 | |
| x | 布局应开始的参考点的X坐标。 |
| y | 布局应开始的参考点的Y坐标。 |
| width | 文本将适应的框的宽度。仅在文本右对齐或居中对齐时才有意义。如果任何一行的长度超过框的宽度且wrap为False,文本将溢出框。 |
| wrap | 是否允许在文本超出给定宽度时重新换行。 |
计算当前文本的布局。x 和 y 表示绘制的起始坐标。如果它们都是 None,则将使用上下文的当前位置。
在此方法中不考虑垂直对齐设置,因为文本不是在框内绘制的。
| 参数 | |
| x | 布局应开始的参考点的X坐标。 |
| y | 布局应开始的参考点的Y坐标。 |
| width | 文本将适应的框的宽度。仅在文本右对齐或居中对齐时才有意义。如果任何一行的长度超过框的宽度且wrap为False,文本将溢出框。 |
| wrap | 是否允许在文本不适合给定宽度时重新换行。 |
| 返回 | |
| 一个由(x, y, line)元组组成的列表,其中x和y指的是Cairo画布上的参考点,而line指的是应该在那里绘制的相应文本。 | |
返回文本的X轴偏移、Y轴偏移、宽度、高度、X轴前进和Y轴前进。
对于多行文本,X-bearing 和 Y-bearing 对应于第一行,而 X-advance 是从最后一行提取的,Y-advance 是所有 Y-advance 的总和。宽度和高度对应于文本的整个边界框。
逐行遍历标签并返回一个元组,其中包含每行的以下内容:行本身、行的宽度和行的X轴偏移量。
此方法与_iterlines()的区别在于,此方法在必要时可以重新换行。
| 参数 | |
| width | 文本将适应的框的宽度。如果行宽超过此宽度,则行将被换行。 |