本文整理汇总了C#中Cairo.Context.NewSubPath方法的典型用法代码示例。如果您正苦于以下问题:C# Context.NewSubPath方法的具体用法?C# Context.NewSubPath怎么用?C# Context.NewSubPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cairo.Context
的用法示例。
在下文中一共展示了Context.NewSubPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RoundRectangle
void RoundRectangle (Context ctx, Rectangle rect, double radius)
{
double degrees = Math.PI / 180;
var x = rect.X;
var y = rect.Y;
var height = rect.Height;
var width = rect.Width;
ctx.NewSubPath ();
ctx.Arc (x + width - radius, y + radius, radius, -90 * degrees, 0 * degrees);
ctx.Arc (x + width - radius, y + height - radius, radius, 0 * degrees, 90 * degrees);
ctx.Arc (x + radius, y + height - radius, radius, 90 * degrees, 180 * degrees);
ctx.Arc (x + radius, y + radius, radius, 180 * degrees, 270 * degrees);
ctx.ClosePath ();
}
示例2: paintNodes
private void paintNodes(Context ctx, int w, int h, IEnumerable<Node> nodes)
{
ctx.LineWidth = 2.0d;
foreach(Node node in nodes) {
PointD abs = new PointD(node.Item2.X*w, node.Item2.Y*h);
ctx.Arc(abs.X, abs.Y, AlgorithmRadius, 0.0d, 2.0d*Math.PI);
ctx.ClosePath();
ctx.NewSubPath();
ctx.Arc(abs.X, abs.Y, AlgorithmRadius-BlueprintStyle.Thickness, 0.0d, 2.0d*Math.PI);
ctx.ClosePath();
ctx.NewSubPath();
}
ctx.Pattern = BlueprintStyle.FillPattern;
ctx.FillPreserve();
ctx.Color = BlueprintStyle.HardWhite;
ctx.Stroke();
double r_2, dx, dy;
this.nodeCenters.Clear();
foreach(Node node in nodes) {
PointD abs = new PointD(node.Item2.X*w, node.Item2.Y*h);
this.nodeCenters.Add(abs);
TextExtents te = ctx.TextExtents(node.Item1);
r_2 = (AlgorithmRadius-BlueprintStyle.Thickness)/Math.Sqrt(te.Width*te.Width+te.Height*te.Height);
ctx.Save();
ctx.MoveTo(abs.X-r_2*te.Width, abs.Y+r_2*te.Height);
ctx.Scale(2.0d*r_2, 2.0d*r_2);
ctx.ShowText(node.Item1);
ctx.Restore();
}
}