---
title: CGBlendMode
framework: coregraphics
role: symbol
role_heading: Enumeration
path: coregraphics/cgblendmode
---

# CGBlendMode

Compositing operations for images.

## Declaration

```swift
enum CGBlendMode
```

## Overview

Overview These blend mode constants represent the Porter-Duff blend modes. The symbols in the equations for these blend modes are: R is the premultiplied result S is the source color, and includes alpha D is the destination color, and includes alpha Ra, Sa, and Da are the alpha components of R, S, and D You can find more information on blend modes, including examples of images produced using them, and many mathematical descriptions of the modes, in PDF Reference, Fourth Edition, Version 1.5, Adobe Systems, Inc. If you are a former QuickDraw developer, it may be helpful for you to think of blend modes as an alternative to transfer modes For examples of using blend modes see “Setting Blend Modes” and “Using Blend Modes With Images” in Quartz 2D Programming Guide.

## Topics

### Constants

- [CGBlendMode.normal](coregraphics/cgblendmode/normal.md)
- [CGBlendMode.multiply](coregraphics/cgblendmode/multiply.md)
- [CGBlendMode.screen](coregraphics/cgblendmode/screen.md)
- [CGBlendMode.overlay](coregraphics/cgblendmode/overlay.md)
- [CGBlendMode.darken](coregraphics/cgblendmode/darken.md)
- [CGBlendMode.lighten](coregraphics/cgblendmode/lighten.md)
- [CGBlendMode.colorDodge](coregraphics/cgblendmode/colordodge.md)
- [CGBlendMode.colorBurn](coregraphics/cgblendmode/colorburn.md)
- [CGBlendMode.softLight](coregraphics/cgblendmode/softlight.md)
- [CGBlendMode.hardLight](coregraphics/cgblendmode/hardlight.md)
- [CGBlendMode.difference](coregraphics/cgblendmode/difference.md)
- [CGBlendMode.exclusion](coregraphics/cgblendmode/exclusion.md)
- [CGBlendMode.hue](coregraphics/cgblendmode/hue.md)
- [CGBlendMode.saturation](coregraphics/cgblendmode/saturation.md)
- [CGBlendMode.color](coregraphics/cgblendmode/color.md)
- [CGBlendMode.luminosity](coregraphics/cgblendmode/luminosity.md)
- [CGBlendMode.clear](coregraphics/cgblendmode/clear.md)
- [CGBlendMode.copy](coregraphics/cgblendmode/copy.md)
- [CGBlendMode.sourceIn](coregraphics/cgblendmode/sourcein.md)
- [CGBlendMode.sourceOut](coregraphics/cgblendmode/sourceout.md)
- [CGBlendMode.sourceAtop](coregraphics/cgblendmode/sourceatop.md)
- [CGBlendMode.destinationOver](coregraphics/cgblendmode/destinationover.md)
- [CGBlendMode.destinationIn](coregraphics/cgblendmode/destinationin.md)
- [CGBlendMode.destinationOut](coregraphics/cgblendmode/destinationout.md)
- [CGBlendMode.destinationAtop](coregraphics/cgblendmode/destinationatop.md)
- [CGBlendMode.xor](coregraphics/cgblendmode/xor.md)
- [CGBlendMode.plusDarker](coregraphics/cgblendmode/plusdarker.md)
- [CGBlendMode.plusLighter](coregraphics/cgblendmode/pluslighter.md)

### Initializers

- [init(rawValue:)](coregraphics/cgblendmode/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Managing a Graphics Context

- [flush()](coregraphics/cgcontext/flush().md)
- [synchronize()](coregraphics/cgcontext/synchronize().md)
- [setBlendMode(_:)](coregraphics/cgcontext/setblendmode(_:).md)
- [setRenderingIntent(_:)](coregraphics/cgcontext/setrenderingintent(_:).md)
