---
title: Applying geometric operations to pixel buffers
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/applying-geometric-operations-to-pixel-buffers
---

# Applying geometric operations to pixel buffers

Reflect, shear, rotate, scale, and apply affine transforms to image data.

## Topics

### Reflecting images

- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-9ezqm.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-529j0.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-4i4vi.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-6syq1.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-7o9tt.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-fg4a.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-97wi9.md)
- [reflect(over:destination:)](accelerate/vimage/pixelbuffer/reflect(over:destination:)-7b1md.md)
- [vImage.ReflectionAxis](accelerate/vimage/reflectionaxis.md)

### Rotating images

- [rotate(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:destination:)-7patt.md)
- [rotate(_:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:usefloat16accumulator:destination:)-9harr.md)
- [rotate(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:destination:)-7tzsn.md)
- [rotate(_:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:usefloat16accumulator:destination:)-61l7b.md)
- [rotate(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:destination:)-2li9v.md)
- [rotate(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:destination:)-692ke.md)
- [rotate(_:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:usefloat16accumulator:destination:)-8glur.md)
- [rotate(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/rotate(_:backgroundcolor:destination:)-9bnb6.md)
- [vImage.Rotation](accelerate/vimage/rotation.md)

### Scaling images

- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-5euvc.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-9si6m.md)
- [scale(useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/scale(usefloat16accumulator:destination:)-5lt9n.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-6xwro.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-6gy9p.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-4p5r6.md)
- [scale(useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/scale(usefloat16accumulator:destination:)-thg7.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-y1zi.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-5tpok.md)
- [scale(useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/scale(usefloat16accumulator:destination:)-st2u.md)
- [scale(destination:)](accelerate/vimage/pixelbuffer/scale(destination:)-2hqm3.md)

### Shearing images

- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-2gf4y.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-5busu.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:usefloat16accumulator:destination:)-26sh4.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-85o1n.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-57dzf.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-7fou8.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:usefloat16accumulator:destination:)-7nh4n.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-95446.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-2ezuh.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:usefloat16accumulator:destination:)-7kddt.md)
- [shear(direction:translate:slope:resamplingFilter:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/shear(direction:translate:slope:resamplingfilter:backgroundcolor:destination:)-7r29q.md)
- [vImage.ShearDirection](accelerate/vimage/sheardirection.md)

### Applying affine transformations to images

- [transform(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:destination:)-4wy4q.md)
- [transform(_:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:usefloat16accumulator:destination:)-1470p.md)
- [transform(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:destination:)-1s38.md)
- [transform(_:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:usefloat16accumulator:destination:)-4w4jr.md)
- [transform(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:destination:)-5kxj6.md)
- [transform(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:destination:)-nl6g.md)
- [transform(_:backgroundColor:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:usefloat16accumulator:destination:)-1lvaa.md)
- [transform(_:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:backgroundcolor:destination:)-9ggt.md)

### Applying projective transformations to images

- [transform(_:interpolation:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:interpolation:backgroundcolor:destination:)-94t75.md)
- [transform(_:interpolation:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:interpolation:backgroundcolor:destination:)-902c9.md)
- [transform(_:interpolation:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:interpolation:backgroundcolor:destination:)-9pv8u.md)
- [transform(_:interpolation:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:interpolation:backgroundcolor:destination:)-4wvdj.md)
- [transform(_:interpolation:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:interpolation:backgroundcolor:destination:)-79mov.md)
- [transform(_:interpolation:backgroundColor:destination:)](accelerate/vimage/pixelbuffer/transform(_:interpolation:backgroundcolor:destination:)-7qnl8.md)

## See Also

### Pixel buffer operations

- [Applying color transforms to pixel buffers](accelerate/applying-color-transforms-to-pixel-buffers.md)
- [Blending and compositing pixel buffers](accelerate/blending-and-compositing-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)
