public bool FastThinLines { get; set; }
Public Property FastThinLines As Boolean
Get
Set
public:
property bool FastThinLines {
bool get ();
void set (bool value);
}
member FastThinLines : bool with get, set
When FastThinLines is , thin lines (that is, when Pen.Width is less or equal to 1) and arcs are drawn with a Bresenham-like algorithm, which is both faster and produces better results than the default algorithm.
This property has no effect when AntiAliasing is .
The following images provide a few examples:
Description | Image Example |
---|---|
Drawing a Path with AntiAliasing = , FastThinLines = . This is the default configuration of these properties. | ![]() |
Drawing a Path with AntiAliasing = , FastThinLines = , DrawPathPixelOffset = Half. Note that the lines are more jagged than above. | ![]() |
Drawing a Path with AntiAliasing = , DrawPathPixelOffset = Half. The lines are much smoother. | ![]() |
Drawing an ellipse with AntiAliasing = , FastThinLines = . The image is zoomed in for better visibility. | ![]() |
Drawing an ellipse with AntiAliasing = , FastThinLines = , DrawPathPixelOffset = Half. The image is zoomed in for better visibility. | ![]() |
Though enabling FastThinLines usually produces better results, sometimes it still may be beneficial to disable it. For example, when filling and drawing the same Path without anti-aliasing, in some cases the 1-pixel width outline may not be perfectly aligned with the fill area, unless FastThinLines is disabled:
Description | Image Example |
---|---|
Filling and drawing the same polygon with AntiAliasing = , FastThinLines = . You can observe alignment issues. | ![]() |
Filling and drawing the same polygon with AntiAliasing = , FastThinLines = . Now there is no alignment issue | ![]() |