---
title: Image rotation
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/image-rotation
---

# Image rotation

Rotate images by arbitrary angles or by multiples of 90 degrees.

## Topics

### Rotating 8-bit-per-channel buffers by any angle

- [vImageRotate_Planar8(_:_:_:_:_:_:)](accelerate/vimagerotate_planar8(_:_:_:_:_:_:).md)
- [vImageRotate_ARGB8888(_:_:_:_:_:_:)](accelerate/vimagerotate_argb8888(_:_:_:_:_:_:).md)

### Rotating 16-bit-per-channel buffers by any angle

- [vImageRotate_Planar16F(_:_:_:_:_:_:)](accelerate/vimagerotate_planar16f(_:_:_:_:_:_:).md)
- [vImageRotate_CbCr16F(_:_:_:_:_:_:)](accelerate/vimagerotate_cbcr16f(_:_:_:_:_:_:).md)
- [vImageRotate_ARGB16U(_:_:_:_:_:_:)](accelerate/vimagerotate_argb16u(_:_:_:_:_:_:).md)
- [vImageRotate_ARGB16S(_:_:_:_:_:_:)](accelerate/vimagerotate_argb16s(_:_:_:_:_:_:).md)
- [vImageRotate_ARGB16F(_:_:_:_:_:_:)](accelerate/vimagerotate_argb16f(_:_:_:_:_:_:).md)

### Rotating 32-bit-per-channel buffers by any angle

- [vImageRotate_PlanarF(_:_:_:_:_:_:)](accelerate/vimagerotate_planarf(_:_:_:_:_:_:).md)
- [vImageRotate_ARGBFFFF(_:_:_:_:_:_:)](accelerate/vimagerotate_argbffff(_:_:_:_:_:_:).md)

### Rotating 8-bit-per-channel buffers by multiples of 90°

- [vImageRotate90_Planar8(_:_:_:_:_:)](accelerate/vimagerotate90_planar8(_:_:_:_:_:).md)
- [vImageRotate90_ARGB8888(_:_:_:_:_:)](accelerate/vimagerotate90_argb8888(_:_:_:_:_:).md)

### Rotating 16-bit-per-channel buffers by multiples of 90°

- [vImageRotate90_Planar16U(_:_:_:_:_:)](accelerate/vimagerotate90_planar16u(_:_:_:_:_:).md)
- [vImageRotate90_Planar16F(_:_:_:_:_:)](accelerate/vimagerotate90_planar16f(_:_:_:_:_:).md)
- [vImageRotate90_CbCr16F(_:_:_:_:_:)](accelerate/vimagerotate90_cbcr16f(_:_:_:_:_:).md)
- [vImageRotate90_ARGB16U(_:_:_:_:_:)](accelerate/vimagerotate90_argb16u(_:_:_:_:_:).md)
- [vImageRotate90_ARGB16S(_:_:_:_:_:)](accelerate/vimagerotate90_argb16s(_:_:_:_:_:).md)
- [vImageRotate90_ARGB16F(_:_:_:_:_:)](accelerate/vimagerotate90_argb16f(_:_:_:_:_:).md)

### Rotating 32-bit-per-channel buffers by multiples of 90°

- [vImageRotate90_PlanarF(_:_:_:_:_:)](accelerate/vimagerotate90_planarf(_:_:_:_:_:).md)
- [vImageRotate90_ARGBFFFF(_:_:_:_:_:)](accelerate/vimagerotate90_argbffff(_:_:_:_:_:).md)

### Specifying the angle of a multiple of 90° rotation

- [Rotation constants](accelerate/1509228-rotation-constants.md)

## See Also

### Applying geometric transforms to image buffers

- [Resampling in vImage](accelerate/resampling-in-vimage.md)
- [Applying affine transformations to images](accelerate/applying-affine-transformations-to-images.md)
- [Applying projective transformations to images](accelerate/applying-projective-transformations-to-images.md)
- [Image reflection](accelerate/image-reflection.md)
- [Image shearing](accelerate/image-shearing.md)
- [Image scaling](accelerate/image-scaling.md)
- [Getting the Buffer Size](accelerate/getting-the-buffer-size.md)
