---
title: Gradient
---
Represents a gradient used for filling or stroking a shape. A gradient is
defined by a set of color stops ([GradientStop](/scripting/api-reference/gradient/gradient-stop)) and either a linear or radial configuration.
## Constructors
### `linear`
{/* linear: (from: Vector, to: Vector, stops: { GradientStop } ) -> Gradient */}
```lua
linear(from: Vector, to: Vector, stops: {GradientStop}) -> Gradient
```
Creates a linear gradient that transitions between the specified color
stops along the line from 'from' to 'to'.
```lua
local g = Gradient.linear(Vector.xy(0, 0), Vector.xy(100, 0), {
{ position = 0, color = Color.rgb(255, 0, 0) },
{ position = 1, color = Color.rgb(0, 0, 255) },
})
```
### `radial`
{/* radial: (from: Vector, radius: number, stops: { GradientStop } ) -> Gradient */}
```lua
radial(from: Vector, radius: number, stops: {GradientStop}) -> Gradient
```
Creates a radial gradient centered at 'from', extending outward to the
given radius, using the specified color stops.
```lua
local g = Gradient.radial(Vector.xy(50, 50), 40, {
{ position = 0, color = Color.rgb(255, 0, 0) },
{ position = 1, color = Color.rgb(0, 0, 255) },
})
```