Path.Widen Method (Pen, Single)

Applies to: Graphics Mill 12.1, 6.x-12.x (may differ)

Replaces the path with the outline of its stroke drawn with the specified pen, using the specified arc tolerance.

Namespace: Aurigma.GraphicsMill.Drawing
Assembly: Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)

Syntax

C#
public void Widen(
	Pen pen,
	float arcTolerance
)

Parameters

pen

Type: Aurigma.GraphicsMill.Drawing.Pen

The pen. Its width, line join, line cap, miter limit, dash pattern, and dash offset are used.
arcTolerance

Type: System.Single

The largest allowed deviation of a round corner or cap from the true arc. Must be greater than 0.

Remarks

Round joins and round caps are made of straight segments. The arcTolerance parameter is the largest allowed distance between these segments and the true arc. A smaller value gives more segments and a smoother result. A larger value gives fewer segments, so the path has fewer points and is faster to process. The Widen(Pen) overload uses 0.1.

The value is in path units, so choose it relative to the output size. For example, 0.1 is invisible when one unit is one pixel. It may be visible if you scale the path up a lot later.

Examples

C#
var pen = new Pen(RgbColor.Black, 60f)
{
    LineJoin = LineJoin.Round,
    LineCap = LineCap.Round
};

var coarse = new Path();
coarse.MoveTo(45, 105);
coarse.LineTo(105, 45);

var fine = new Path(coarse);

// Round caps deviate from the true arc by up to 3 units. They have few points.
coarse.Widen(pen, 3f);

// Round caps deviate from the true arc by up to 0.1 units (the default). They have many points.
fine.Widen(pen, 0.1f);

The round caps with a large and a small arc tolerance. The dots show the points of the paths.

The round caps with a large and a small arc tolerance.

Exceptions

Exception Condition
System.ArgumentNullException The pen is null.
System.ArgumentOutOfRangeException The pen width is not greater than 0, the miter limit is less than 1, or the arc tolerance is not greater than 0.

See Also

Reference

Manual