本文整理汇总了C#中Microsoft.Msagl.Core.Layout.GeometryGraph.CollectAllLabels方法的典型用法代码示例。如果您正苦于以下问题:C# GeometryGraph.CollectAllLabels方法的具体用法?C# GeometryGraph.CollectAllLabels怎么用?C# GeometryGraph.CollectAllLabels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Msagl.Core.Layout.GeometryGraph
的用法示例。
在下文中一共展示了GeometryGraph.CollectAllLabels方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddLabelSizes
/// <summary>
/// Gives each label a size.
/// By default they don't have a size so we must fill it in.
/// </summary>
private static void AddLabelSizes(GeometryGraph graph)
{
foreach (Label label in graph.CollectAllLabels())
{
label.Width = 30;
label.Height = 15;
}
}
示例2: VerifyAspectRatio
/// <summary>
/// Verifies that the graph conforms to the correct aspect ratio.
/// </summary>
private static void VerifyAspectRatio(GeometryGraph graph, double aspectRatio)
{
double ratioTolerance = aspectRatio * 0.05;
// Verify the graph is the correct size
Assert.AreEqual(aspectRatio, (graph.Width-(graph.Margins*2)) / (graph.Height-(graph.Margins*2)), ratioTolerance, "The graph does not conform to the aspect ratio.");
// Verify the nodes were spread apart to fill the space
IEnumerable<Rectangle> nodeBoxes = graph.Nodes.Select(n => n.BoundingBox);
IEnumerable<Rectangle> edgeBoxes = graph.Edges.Select(e => e.BoundingBox);
IEnumerable<Rectangle> labelBoxes = graph.CollectAllLabels().Select(l => l.BoundingBox);
Rectangle itemBounds = new Rectangle(nodeBoxes.Concat(edgeBoxes).Concat(labelBoxes));
Assert.AreEqual(aspectRatio, itemBounds.Width / itemBounds.Height, ratioTolerance, "The graph's nodes do not conform to the aspect ratio.");
}