<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/GraphicsContext/Filter",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI15GraphicsContextV6FilterV"
  },
  "title" : "GraphicsContext.Filter"
}
-->

# GraphicsContext.Filter

A type that applies image processing operations to rendered content.

```
struct Filter
```

## 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:)`](/documentation/SwiftUI/GraphicsContext/addFilter(_:options:)) method to add the filter to a
[`GraphicsContext`](/documentation/SwiftUI/GraphicsContext). The filter only affects content that you draw
into the context after adding the filter.

## Topics

### Changing brightness and contrast

[`static func brightness(Double) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/brightness(_:))

Returns a filter that applies a brightness adjustment.

[`static func contrast(Double) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/contrast(_:))

Returns a filter that applies a contrast adjustment.

### Manipulating color

[`static func saturation(Double) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/saturation(_:))

Returns a filter that applies a saturation adjustment.

[`static func colorInvert(Double) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/colorInvert(_:))

Returns a filter that inverts the color of their results.

[`static func colorMultiply(Color) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/colorMultiply(_:))

Returns a filter that multiplies each color component by
the matching component of a given color.

[`static func hueRotation(Angle) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/hueRotation(_:))

Returns a filter that applies a hue rotation adjustment.

[`static func grayscale(Double) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/grayscale(_:))

Returns a filter that applies a grayscale adjustment.

[`static func colorMatrix(ColorMatrix) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/colorMatrix(_:))

Returns a filter that multiplies by a given color matrix.

### Adding blur

[`static func blur(radius: CGFloat, options: GraphicsContext.BlurOptions) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/blur(radius:options:))

Returns a filter that applies a Gaussian blur.

### Adding a shadow

[`static func shadow(color: Color, radius: CGFloat, x: CGFloat, y: CGFloat, blendMode: GraphicsContext.BlendMode, options: GraphicsContext.ShadowOptions) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/shadow(color:radius:x:y:blendMode:options:))

Returns a filter that adds a shadow.

### Adjusting opacity

[`static var luminanceToAlpha: GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/luminanceToAlpha)

Returns a filter that sets the opacity of each pixel based on its
luminance.

[`static func alphaThreshold(min: Double, max: Double, color: Color) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/alphaThreshold(min:max:color:))

Returns a filter that replaces each pixel with alpha components
within a range by a constant color, or transparency otherwise.

### Adding a transformation

[`static func projectionTransform(ProjectionTransform) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/projectionTransform(_:))

Returns a filter that transforms the rasterized form
of subsequent graphics primitives.

### Using a custom Metal shader

[`static func colorShader(Shader) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/colorShader(_:))

Returns a filter that applies `shader` to the color of each
source pixel.

[`static func distortionShader(Shader, maxSampleOffset: CGSize) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/distortionShader(_:maxSampleOffset:))

Returns a filter that applies `shader` as a geometric
distortion effect on the location of each pixel.

[`static func layerShader(Shader, maxSampleOffset: CGSize) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/layerShader(_:maxSampleOffset:))

Returns a filter that applies `shader` to the contents of
the source layer.

### Type Methods

[`static func alphaMultiply(Color) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/alphaMultiply(_:))

Returns a filter that multiplies the alpha component by
a given color.

[`static func colorMatrix(ColorMatrix, isPremultiplied: Bool) -> GraphicsContext.Filter`](/documentation/SwiftUI/GraphicsContext/Filter/colorMatrix(_:isPremultiplied:))

Returns a filter that multiplies by a given color matrix.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)