---
title: NSCompositingOperation
framework: appkit
role: symbol
role_heading: Enumeration
path: appkit/nscompositingoperation
---

# NSCompositingOperation

Constants that describe compositing operators in terms of source and destination images, each having an opaque and transparent region.

## Declaration

```swift
enum NSCompositingOperation
```

## Overview

Overview The type of operation, the source image, and the destination image determine the final output. These compositing operators are defined in and used by compositeToPoint:fromRect:operation:, compositeToPoint:operation:, compositeToPoint:fromRect:operation:fraction:, compositeToPoint:operation:fraction:, draw(at:from:operation:fraction:), and draw(in:from:operation:fraction:). They are also used by drawing methods in other classes that take a compositing operator. The equations after each constant represent the mathematical formulas for calculating the color value of the resulting pixel. The table below lists the meaning of each placeholder value in the equations.  |   |   |   |   |   |

## Topics

### Operations for Compositing

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

### Initializers

- [init(rawValue:)](appkit/nscompositingoperation/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

### Configuring Rendering Options

- [compositingOperation](appkit/nsgraphicscontext/compositingoperation.md)
- [imageInterpolation](appkit/nsgraphicscontext/imageinterpolation.md)
- [NSImageInterpolation](appkit/nsimageinterpolation.md)
- [shouldAntialias](appkit/nsgraphicscontext/shouldantialias.md)
- [patternPhase](appkit/nsgraphicscontext/patternphase.md)
