- About Graphics Mill
- What's New?
- Breaking Changes in Graphics Mill 12
- Breaking Changes in Graphics Mill 11
- Features
- Supported File Formats
- System Requirements
- Getting Started
- Working with Image Formats
- Transforming Images (Resize, Rotate, Crop)
- Working with Metadata
- Color Management and Color Reduction
- Drawing Text and Graphics
- Color Keying (Green Screen Removal)
- Channels and Pixel Data
- Color and Tone Correction
- Working with Photoshop (PSD) Files
- Image Filters
- Processing Large Images
- Basics of Image Processing
- Troubleshooting
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- Aurigma.GraphicsMill.Codecs.ClippingPath Namespace
- Aurigma.GraphicsMill.Codecs.Psd Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- ArtTextFrame Class
- AutoSizeAnchor Enumeration
- AutoSizeMode Enumeration
- BeginDrawEventArgs Class
- BoundedText Class
- Brush Class
- CharInfo Class
- CharStyle Class
- ClippingPathCollection Class
- ColorStop Class
- ContainerItem Class
- ContainerItemCollection Class
- CopyfittingMode Enumeration
- CustomFontRegistry Class
- DigitType Enumeration
- DoublePathText Class
- DoublePathTextFrame Class
- Drawer Class
- DrawEventArgs Class
- EndDrawEventArgs Class
- FallbackFontCollection Class
- FamilyStyleCollisionPolicy Enumeration
- FillingRule Enumeration
- FirstBaselineOffset Enumeration
- Font Class
- FontAddResult Class
- FontAddStatus Enumeration
- FontFallbackException Class
- FontInfo Class
- FontMetrics Class
- FontMissingEventArgs Class
- FontRegistry Class
- GradientBrush Class
- Graphics Class
- GraphicsContainer Class
- ImageItem Class
- IndexedColorCollection Class
- InstalledFontRegistry Class
- InvalidStyleValueException Class
- Item Class
- Layer Class
- LinearGradientBrush Class
- LineCap Enumeration
- LineJoin Enumeration
- MainPath Enumeration
- OpenTypeFeature Structure
- OpenTypeFeatureTag Enumeration
- ParagraphStyle Class
- Path Class
- Path Members
- Path Constructor
- Path Methods
- ApplyTransform Method
- Clear Method
- Close Method
- Create Method
- CurveTo Method
- Dispose Method
- DrawEllipse Method
- DrawPath Method
- DrawRectangle Method
- DrawText Method
- Ellipse Method
- FitCurves Method
- Flatten Method
- GetAlphaContour Method
- GetArea Method
- GetBounds Method
- GetContour Method
- GetHashCode Method
- GetLength Method
- GetObjectData Method
- GetOuterContours Method
- Inflate Method
- Intersect Method
- Invert Method
- LineTo Method
- MoveTo Method
- OffsetContour Method
- Rectangle Method
- Rotate Method
- Scale Method
- Simplify Method
- Smooth Method
- Split Method
- Subtract Method
- ToGdiPlusGraphicsPath Method
- Translate Method
- Union Method
- Widen Method
- Xor Method
- Path Properties
- PathBoundedText Class
- PathPoint Structure
- PathPointCollection Class
- PathPointType Enumeration
- PathText Class
- PathTextAlignment Enumeration
- PathTextFrame Class
- Pen Class
- PlainText Class
- PointTextFrame Class
- PostscriptNameCollisionPolicy Enumeration
- RadialGradientBrush Class
- ShapeItem Class
- ShapeTextFrame Class
- SoftMask Class
- SoftMaskMethod Enumeration
- SolidBrush Class
- StringMeasure Structure
- Text Class
- TextAlignment Enumeration
- TextDirection Enumeration
- TextException Class
- TextFrame Class
- TextItem Class
- TextOrientation Enumeration
- TilingBrush Class
- UnknownStyleNameException Class
- UnknownTagException Class
- VerticalAlignment Enumeration
- Aurigma.GraphicsMill.Drawing.Art Namespace
- Aurigma.GraphicsMill.Drawing.Effects Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Templates Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- Licensing
- End User License Agreement
- Copyright Notices
Path.Smooth Method
Applies to: Graphics Mill 12.1, 6.x-12.x (may differ)
Smooths every subpath of the path along its length.
Namespace:
Aurigma.GraphicsMill.Drawing
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
C#
public void Smooth(
float sigma
)
Parameters
- sigma
-
Type: System.Single
The standard deviation of the Gaussian smoothing, in path units. Must be greater than 0.
Remarks
Corners become round over a distance of a few sigma. The ends of open subpaths stay in place. Curves are converted to polylines first.
Like any such smoothing, it moves a curve towards its center of curvature by about sigma * sigma / (2 * radius). So a convex outline shrinks a little.
Examples
C#
// A five-pointed star.
var path = new Path();
for (int i = 0; i < 10; i++)
{
double angle = i * System.Math.PI / 5 - System.Math.PI / 2;
float radius = i % 2 == 0 ? 65 : 28;
float x = 75 + radius * (float)System.Math.Cos(angle);
float y = 80 + radius * (float)System.Math.Sin(angle);
if (i == 0)
path.MoveTo(x, y);
else
path.LineTo(x, y);
}
path.Close();
var original = new Path(path);
// Round off the corners.
path.Smooth(6f);
The original path and the smoothed path.
Exceptions
| Exception | Condition |
|---|---|
| System.ArgumentOutOfRangeException | The value is not greater than 0. |