---
title: GraphicsContext.Filter
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/graphicscontext/filter
---

# GraphicsContext.Filter

A type that applies image processing operations to rendered content.

## Declaration

```swift
struct Filter
```

## Overview

Overview Create and configure a filter that produces an image processing effect, like adding a drop shadow or a blur effect, by calling one of the factory methods defined by the Filter structure. Call the addFilter(_:options:) method to add the filter to a GraphicsContext. The filter only affects content that you draw into the context after adding the filter.

## Topics

### Changing brightness and contrast

- [brightness(_:)](swiftui/graphicscontext/filter/brightness(_:).md)
- [contrast(_:)](swiftui/graphicscontext/filter/contrast(_:).md)

### Manipulating color

- [saturation(_:)](swiftui/graphicscontext/filter/saturation(_:).md)
- [colorInvert(_:)](swiftui/graphicscontext/filter/colorinvert(_:).md)
- [colorMultiply(_:)](swiftui/graphicscontext/filter/colormultiply(_:).md)
- [hueRotation(_:)](swiftui/graphicscontext/filter/huerotation(_:).md)
- [grayscale(_:)](swiftui/graphicscontext/filter/grayscale(_:).md)
- [colorMatrix(_:)](swiftui/graphicscontext/filter/colormatrix(_:).md)

### Adding blur

- [blur(radius:options:)](swiftui/graphicscontext/filter/blur(radius:options:).md)

### Adding a shadow

- [shadow(color:radius:x:y:blendMode:options:)](swiftui/graphicscontext/filter/shadow(color:radius:x:y:blendmode:options:).md)

### Adjusting opacity

- [luminanceToAlpha](swiftui/graphicscontext/filter/luminancetoalpha.md)
- [alphaThreshold(min:max:color:)](swiftui/graphicscontext/filter/alphathreshold(min:max:color:).md)

### Adding a transformation

- [projectionTransform(_:)](swiftui/graphicscontext/filter/projectiontransform(_:).md)

### Using a custom Metal shader

- [colorShader(_:)](swiftui/graphicscontext/filter/colorshader(_:).md)
- [distortionShader(_:maxSampleOffset:)](swiftui/graphicscontext/filter/distortionshader(_:maxsampleoffset:).md)
- [layerShader(_:maxSampleOffset:)](swiftui/graphicscontext/filter/layershader(_:maxsampleoffset:).md)

### Type Methods

- [alphaMultiply(_:)](swiftui/graphicscontext/filter/alphamultiply(_:).md)
- [colorMatrix(_:isPremultiplied:)](swiftui/graphicscontext/filter/colormatrix(_:ispremultiplied:).md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Filtering

- [addFilter(_:options:)](swiftui/graphicscontext/addfilter(_:options:).md)
- [GraphicsContext.FilterOptions](swiftui/graphicscontext/filteroptions.md)
- [GraphicsContext.BlurOptions](swiftui/graphicscontext/bluroptions.md)
- [GraphicsContext.ShadowOptions](swiftui/graphicscontext/shadowoptions.md)
