---
title: Creating vImage pixel buffers
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/creating-vimage-pixel-buffers
---

# Creating vImage pixel buffers

Allocate and initialize pixel buffers from raw pixel data, Core Graphics images, and Core Video buffers.

## Topics

### Creating a pixel buffer

- [init(size:pixelFormat:)](accelerate/vimage/pixelbuffer/init(size:pixelformat:)-12gl9.md)
- [init(size:pixelFormat:)](accelerate/vimage/pixelbuffer/init(size:pixelformat:)-96ocu.md)
- [init(width:height:pixelFormat:)](accelerate/vimage/pixelbuffer/init(width:height:pixelformat:).md)
- [vImage.Size](accelerate/vimage/size.md)

### Creating a pixel buffer from raw pixel data

- [init(pixelValues:size:pixelFormat:)](accelerate/vimage/pixelbuffer/init(pixelvalues:size:pixelformat:).md)
- [init(data:width:height:byteCountPerRow:pixelFormat:)](accelerate/vimage/pixelbuffer/init(data:width:height:bytecountperrow:pixelformat:)-zwzz.md)
- [init(data:width:height:byteCountPerRow:pixelFormat:)](accelerate/vimage/pixelbuffer/init(data:width:height:bytecountperrow:pixelformat:)-27czc.md)

### Creating a pixel buffer from a Core Graphics image

- [init(cgImage:cgImageFormat:pixelFormat:)](accelerate/vimage/pixelbuffer/init(cgimage:cgimageformat:pixelformat:).md)

### Creating a pixel buffer from a Core Video buffer

- [init(copying:cvImageFormat:cgImageFormat:pixelFormat:)](accelerate/vimage/pixelbuffer/init(copying:cvimageformat:cgimageformat:pixelformat:).md)
- [init(referencing:converter:destinationPixelFormat:)](accelerate/vimage/pixelbuffer/init(referencing:converter:destinationpixelformat:).md)
- [init(referencing:planeIndex:overrideSize:pixelFormat:)](accelerate/vimage/pixelbuffer/init(referencing:planeindex:overridesize:pixelformat:).md)

### Creating a multiple-plane buffer from an interleaved buffer

- [init(interleavedBuffer:)](accelerate/vimage/pixelbuffer/init(interleavedbuffer:)-9xct6.md)
- [init(interleavedBuffer:)](accelerate/vimage/pixelbuffer/init(interleavedbuffer:)-8f6xn.md)
- [init(interleavedBuffer:)](accelerate/vimage/pixelbuffer/init(interleavedbuffer:)-77n3i.md)
- [init(interleavedBuffer:)](accelerate/vimage/pixelbuffer/init(interleavedbuffer:)-2hc6f.md)

### Creating an interleaved buffer from another buffer

- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-727d.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-6r9p0.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-6hkso.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-8nt2j.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-n2mq.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-7wt24.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-59s4n.md)
- [init(planarBuffers:)](accelerate/vimage/pixelbuffer/init(planarbuffers:)-2575t.md)
- [init(lumaSource:chromaSource:conversionInfo:)](accelerate/vimage/pixelbuffer/init(lumasource:chromasource:conversioninfo:).md)
- [init(interleavedBuffer:)](accelerate/vimage/pixelbuffer/init(interleavedbuffer:)-35or3.md)

### Creating a multiple-plane buffer from planar buffers

- [init(planarBuffers:pixelFormat:)](accelerate/vimage/pixelbuffer/init(planarbuffers:pixelformat:).md)

### Creating a pixel buffer and image format

- [makeDynamicPixelBufferAndCGImageFormat(cgImage:)](accelerate/vimage/pixelbuffer/makedynamicpixelbufferandcgimageformat(cgimage:).md)
- [makePixelBufferAndCGImageFormat(cgImage:pixelFormat:)](accelerate/vimage/pixelbuffer/makepixelbufferandcgimageformat(cgimage:pixelformat:).md)

## See Also

### Pixel buffer essentials

- [Pixel formats](accelerate/pixel-formats.md)
- [Working with underlying data](accelerate/working-with-underlying-data.md)
