树绘制所需的通用工具:节点遍历、颜色解析、极坐标换算以及文本尺寸缓存。
DrawingHelper
01 Syntax
SMRUCC.genomics.Interops.Visualize.Phylip.Evolview.Drawing.DrawingHelper
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| EnumerateNodes | 1 | 以先序遍历返回根节点下的所有节点(含根节点自身)。 |
| EnumerateLeaves | 1 | 返回树中的所有叶节点。 |
| NodeDepth | 1 | 依据父节点链累计分支长度,得到节点到根的深度(不依赖 PhyloTree 的预计算值)。 |
| CreateFont | 1 | 创建字体;字体族不可用时回退到系统默认字体。 |
| ResolveColor | 1 | 把 CSS/HTML/OLE 颜色表达式解析为 Color;解析失败时返回回退色。 |
| NormalizeDegrees | 1 | 把角度(度)归一化到 [0, 360)。 |
| PolarToCartesian | 1 | 极坐标转笛卡尔坐标(屏幕坐标系,Y 轴向下)。 |
| BuildAnnularSector | 1 | 构造环形扇(annular sector)多边形顶点,用于绘制叶背景色块。 |
| Union | 1 | 合并两个矩形(其中任意一个可以为空)。 |
03 Members
EnumerateNodes(PhyloNode)
以先序遍历返回根节点下的所有节点(含根节点自身)。
EnumerateLeaves(PhyloNode)
返回树中的所有叶节点。
NodeDepth(PhyloNode)
依据父节点链累计分支长度,得到节点到根的深度(不依赖 PhyloTree 的预计算值)。
CreateFont(
String, Single, FontStyle)创建字体;字体族不可用时回退到系统默认字体。
ResolveColor(
String, Color)把 CSS/HTML/OLE 颜色表达式解析为 Color;解析失败时返回回退色。
NormalizeDegrees(
Single)把角度(度)归一化到 [0, 360)。
PolarToCartesian(
PointF, Single, Single)极坐标转笛卡尔坐标(屏幕坐标系,Y 轴向下)。
BuildAnnularSector(
PointF, Single, Single, Single, Single, Int32)构造环形扇(annular sector)多边形顶点,用于绘制叶背景色块。
Union(
Nullable(Of RectangleF), RectangleF)合并两个矩形(其中任意一个可以为空)。