---
title: Blending and compositing pixel buffers
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/blending-and-compositing-pixel-buffers
---

# Blending and compositing pixel buffers

Composite two pixel buffers to create a single image.

## Topics

### Alpha compositing

- [alphaComposite(_:topLayer:destination:)](accelerate/vimage/pixelbuffer/alphacomposite(_:toplayer:destination:)-fybo.md)
- [alphaComposite(_:topLayer:destination:)](accelerate/vimage/pixelbuffer/alphacomposite(_:toplayer:destination:)-w1zc.md)
- [vImage.CompositeMode](accelerate/vimage/compositemode.md)

### Alpha blending

- [premultipliedAlphaBlend(_:topLayer:destination:)](accelerate/vimage/pixelbuffer/premultipliedalphablend(_:toplayer:destination:).md)
- [vImage.BlendMode](accelerate/vimage/blendmode.md)

### Premultiply

- [premultiply(alpha:)](accelerate/vimage/pixelbuffer/premultiply(alpha:)-11gly.md)
- [premultiply(alpha:)](accelerate/vimage/pixelbuffer/premultiply(alpha:)-76rr.md)
- [premultiply(channelOrdering:)](accelerate/vimage/pixelbuffer/premultiply(channelordering:)-4xpq9.md)
- [premultiply(channelOrdering:)](accelerate/vimage/pixelbuffer/premultiply(channelordering:)-302ci.md)
- [premultiply()](accelerate/vimage/pixelbuffer/premultiply().md)
- [premultiply(channelOrdering:)](accelerate/vimage/pixelbuffer/premultiply(channelordering:)-fzwd.md)

### Unpremultiply

- [unpremultiply(alpha:)](accelerate/vimage/pixelbuffer/unpremultiply(alpha:)-xnog.md)
- [unpremultiply(alpha:)](accelerate/vimage/pixelbuffer/unpremultiply(alpha:)-i0ri.md)
- [unpremultiply(channelOrdering:)](accelerate/vimage/pixelbuffer/unpremultiply(channelordering:)-1pkat.md)
- [unpremultiply(channelOrdering:)](accelerate/vimage/pixelbuffer/unpremultiply(channelordering:)-19l0s.md)
- [unpremultiply()](accelerate/vimage/pixelbuffer/unpremultiply().md)
- [unpremultiply(channelOrdering:)](accelerate/vimage/pixelbuffer/unpremultiply(channelordering:)-82uq3.md)

### Linear interpolation

- [linearInterpolate(bufferB:interpolationConstant:destination:)](accelerate/vimage/pixelbuffer/linearinterpolate(bufferb:interpolationconstant:destination:).md)

## See Also

### Pixel buffer operations

- [Applying geometric operations to pixel buffers](accelerate/applying-geometric-operations-to-pixel-buffers.md)
- [Applying color transforms to pixel buffers](accelerate/applying-color-transforms-to-pixel-buffers.md)
- [Convolving and applying morphology](accelerate/convolving-and-applying-morphology.md)
- [Thresholding and clipping pixel buffer values](accelerate/thresholding-and-clipping-pixel-buffer-values.md)
- [Calculating and transforming histograms](accelerate/calculating-and-transforming-histograms.md)
- [Converting pixel buffers](accelerate/converting-pixel-buffers.md)
- [Interleaving and deinterleaving pixel buffers](accelerate/interleaving-and-deinterleaving-pixel-buffers.md)
- [Cropping and working with regions of interest](accelerate/cropping-and-working-with-regions-of-interest.md)
- [Applying channel operations](accelerate/applying-channel-operations.md)
- [Applying arithmetic operations](accelerate/applying-arithmetic-operations.md)
