---
title: "drawLinearGradient(_:start:end:options:)"
framework: coregraphics
role: symbol
role_heading: Instance Method
path: "coregraphics/cgcontext/drawlineargradient(_:start:end:options:)"
---

# drawLinearGradient(_:start:end:options:)

Paints a gradient fill that varies along the line defined by the provided starting and ending points.

## Declaration

```swift
func drawLinearGradient(_ gradient: CGGradient, start startPoint: CGPoint, end endPoint: CGPoint, options: CGGradientDrawingOptions)
```

## Parameters

- `gradient`: A gradient object.
- `startPoint`: The coordinate that defines the starting point of the gradient.
- `endPoint`: The coordinate that defines the ending point of the gradient.
- `options`: Option flags (doc://com.apple.coregraphics/documentation/CoreGraphics/CGGradientDrawingOptions/drawsBeforeStartLocation or doc://com.apple.coregraphics/documentation/CoreGraphics/CGGradientDrawingOptions/drawsAfterEndLocation) that control whether the fill is extended beyond the starting or ending point.

## Discussion

Discussion The color at location 0 in the CGGradient object is mapped to the starting point. The color at location 1 in the CGGradient object is mapped to the ending point. Colors are linearly interpolated between these two points based on the location values of the gradient. The option flags control whether the gradient is drawn before the start point or after the end point.

## See Also

### Drawing Gradients and Shadings

- [drawRadialGradient(_:startCenter:startRadius:endCenter:endRadius:options:)](coregraphics/cgcontext/drawradialgradient(_:startcenter:startradius:endcenter:endradius:options:).md)
- [CGGradientDrawingOptions](coregraphics/cggradientdrawingoptions.md)
- [drawShading(_:)](coregraphics/cgcontext/drawshading(_:).md)
