<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/double-precision-horizontal-shearing",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Double-precision horizontal shearing"
}
-->

# Double-precision horizontal shearing

Apply double-precision horizontal shearing to images.

## Topics

### Shearing 8-bit-per-channel buffers

[`func vImageHorizontalShearD_Planar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, Pixel_8, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_Planar8(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within an 8-bit planar image.

[`func vImageHorizontalShearD_ARGB8888(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<UInt8>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_ARGB8888(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within an 8-bit-per-channel, 4-channel interleaved image.

### Shearing 16-bit-per-channel buffers

[`func vImageHorizontalShearD_Planar16F(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, Pixel_16F, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_Planar16F(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within a floating-point 16-bit planar image.

[`func vImageHorizontalShearD_CbCr16F(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<UInt16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_CbCr16F(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within a floating-point 16-bit-per-channel, 2-channel interleaved image.

[`func vImageHorizontalShearD_ARGB16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<UInt16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_ARGB16U(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within an unsigned 16-bit-per-channel, 4-channel interleaved image.

[`func vImageHorizontalShearD_ARGB16S(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<Int16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_ARGB16S(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within a signed 16-bit-per-channel, 4-channel interleaved image.

[`func vImageHorizontalShearD_ARGB16F(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<UInt16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_ARGB16F(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within a floating-point 16-bit-per-channel, 4-channel interleaved image.

[`func vImageHorizontalShearD_CbCr16S(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<Int16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_CbCr16S(_:_:_:_:_:_:_:_:_:))

[`func vImageHorizontalShearD_CbCr16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<UInt16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_CbCr16U(_:_:_:_:_:_:_:_:_:))

[`func vImageHorizontalShear_CbCr16S(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Float, Float, ResamplingFilter!, UnsafePointer<Int16>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShear_CbCr16S(_:_:_:_:_:_:_:_:_:))

### Shearing 32-bit-per-channel buffers

[`func vImageHorizontalShearD_PlanarF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, Pixel_F, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_PlanarF(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within a 32-bit planar image.

[`func vImageHorizontalShearD_ARGBFFFF(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImagePixelCount, vImagePixelCount, Double, Double, ResamplingFilter!, UnsafePointer<Float>!, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageHorizontalShearD_ARGBFFFF(_:_:_:_:_:_:_:_:_:))

Performs a double-precision horizontal shear on a region of interest within a 32-bit-per-channel, 4-channel interleaved image.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)