From Xojo Documentation

You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site!

Class (inherits from GraphicsBrush)

New in 2020r2

Creates an image which represents a gradient of colors radiating from an origin, the center of the gradient.

EndPoint GradientStops() StartRadius
EndRadius StartPoint


A radial gradient is made up of two concentric circles where the gradient begins at the inner circle (as defined by the StartPoint) and ends at the outer circle (as defined by the EndPoint).

To create the effect of the radial gradient progressing out from the center of the drawing, set the StartPoint and the EndPoint to the center of the drawing.

Windows does not support the StartRadius. Therefore, if the StartPoint and EndPoint are not the same and the StartRadius is greater than 0, an InvalidArgumentException will occur.
On Windows, if the StartPoint and EndPoint are the same, the greater of the StartRadius/EndRadius is used.

If the EndRadius does not reach the edge of the drawing, the color of the last GradientStop will be use to fill the remaining area.

Sample Code

This example code in the Paint event of a Canvas draws an oval filled with a radial gradient:

Var radialBrush As New RadialGradientBrush
radialBrush.StartPoint = New Point(g.Width / 2, g.Height / 2)
radialBrush.EndPoint = radialBrush.StartPoint
radialBrush.GradientStops.Add(New Pair(0, Color.Red))
radialBrush.GradientStops.Add(New Pair(0.5, Color.Blue))
radialBrush.GradientStops.Add(New Pair(0.8, Color.Green))
radialBrush.StartRadius = 0
radialBrush.EndRadius = 500
g.Brush = radialBrush
g.FillOval(0, 0, g.Width, g.Height)


Desktop and iOS project types on all supported operating systems.

See Also

Graphics.Brush property, LinearGradientBrush, PictureBrush, and ShadowBrush classes.