This class defines a gradient brush that shades from one color at the
center of a GraphicsPath to another at each edge
of the path. The CenterPoint can be set
arbitrarily.
You can define a basic fade by setting the
CenterColor, populating the
SurroundColors array with one
Color value for each of the points defining the
path, and setting the Blend object.
Alternatively, you can go for a more complex fade, by setting a
ColorBlend object into the
InterpolationColors property.
You can also set the bounding Rectangle for the
path, and the WrapMode defining how points outside
that rectangle should be filled.
The path itself is set in the constructor of the object and cannot be
modified subsequently, but you can apply a
Transform with the usual array of helper methods,
such as RotateTransform() and
MultiplyTransform().
public sealed class PathGradientBrush : System.Drawing.Brush {
// Public Constructors
public PathGradientBrush(GraphicsPath path);
public PathGradientBrush(System.Drawing.Point[ ] points);
public PathGradientBrush(System.Drawing.Point[ ] points, WrapMode wrapMode);
public PathGradientBrush(System.Drawing.PointF[ ] points);
public PathGradientBrush(System.Drawing.PointF[ ] points, WrapMode wrapMode);
// Public Instance Properties
public Blend Blend{set; get; }
public Color CenterColor{set; get; }
public PointF CenterPoint{set; get; }
public PointF FocusScales{set; get; }
public ColorBlend InterpolationColors{set; get; }
public RectangleF Rectangle{get; }
public Color[ ] SurroundColors{set; get; }
public Matrix Transform{set; get; }
public WrapMode WrapMode{set; get; }
// Public Instance Methods
public override object Clone(); // overrides System.Drawing.Brush
public void MultiplyTransform(Matrix matrix);
public void MultiplyTransform(Matrix matrix, MatrixOrder order);
public void ResetTransform();
public void RotateTransform(float angle);
public void RotateTransform(float angle, MatrixOrder order);
public void ScaleTransform(float sx, float sy);
public void ScaleTransform(float sx, float sy, MatrixOrder order);
public void SetBlendTriangularShape(float focus);
public void SetBlendTriangularShape(float focus, float scale);
public void SetSigmaBellShape(float focus);
public void SetSigmaBellShape(float focus, float scale);
public void TranslateTransform(float dx, float dy);
public void TranslateTransform(float dx, float dy, MatrixOrder order);
}