Table of Contents

Namespace SixLabors.ImageSharp.PixelFormats

Classes

PixelBlender<TPixel>

Abstract base class for calling pixel composition functions

PixelOperations<TPixel>

A stateless class implementing Strategy Pattern for batched pixel-data conversion operations for pixel buffers of type TPixel.

Structs

A8

Packed pixel type containing a single 8-bit normalized alpha value.

Ranges from [0, 0, 0, 0] to [0, 0, 0, 1] in vector form.

Abgr32

Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255. The color components are stored in alpha, red, green, and blue order (least significant to most significant byte).

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Argb32

Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255. The color components are stored in alpha, red, green, and blue order (least significant to most significant byte).

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Bgr24

Pixel type containing three 8-bit unsigned normalized values ranging from 0 to 255. The color components are stored in blue, green, red order (least significant to most significant byte).

Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.

Bgr565

Packed pixel type containing unsigned normalized values ranging from 0 to 1. The x and z components use 5 bits, and the y component uses 6 bits.

Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.

Bgra32

Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255. The color components are stored in blue, green, red, and alpha order (least significant to most significant byte). The format is binary compatible with System.Drawing.Imaging.PixelFormat.Format32bppArgb

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Bgra4444

Packed pixel type containing unsigned normalized values, ranging from 0 to 1, using 4 bits each for x, y, z, and w.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Bgra5551

Packed pixel type containing unsigned normalized values ranging from 0 to 1. The x , y and z components use 5 bits, and the w component uses 1 bit.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Byte4

Packed pixel type containing four 8-bit unsigned integer values, ranging from 0 to 255.

Ranges from [0, 0, 0, 0] to [255, 255, 255, 255] in vector form.

HalfSingle

Packed pixel type containing a single 16 bit floating point value.

Ranges from [-1, 0, 0, 1] to [1, 0, 0, 1] in vector form.

HalfVector2

Packed pixel type containing two 16-bit floating-point values.

Ranges from [-1, -1, 0, 1] to [1, 1, 0, 1] in vector form.

HalfVector4

Packed pixel type containing four 16-bit floating-point values.

Ranges from [-1, -1, -1, -1] to [1, 1, 1, 1] in vector form.

L16

Packed pixel type containing a single 16-bit normalized luminance value.

Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.

L8

Packed pixel type containing a single 8-bit normalized luminance value.

Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.

La16

Packed pixel type containing two 8-bit normalized values representing luminance and alpha.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

La32

Packed pixel type containing two 16-bit normalized values representing luminance and alpha.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

NormalizedByte2

Packed pixel type containing two 8-bit signed normalized values, ranging from −1 to 1.

Ranges from [-1, -1, 0, 1] to [1, 1, 0, 1] in vector form.

NormalizedByte4

Packed pixel type containing four 8-bit signed normalized values, ranging from −1 to 1.

Ranges from [-1, -1, -1, -1] to [1, 1, 1, 1] in vector form.

NormalizedShort2

Packed pixel type containing two 16-bit signed normalized values, ranging from −1 to 1.

Ranges from [-1, -1, 0, 1] to [1, 1, 0, 1] in vector form.

NormalizedShort4

Packed pixel type containing four 16-bit signed normalized values, ranging from −1 to 1.

Ranges from [-1, -1, -1, -1] to [1, 1, 1, 1] in vector form.

Rg32

Packed pixel type containing two 16-bit unsigned normalized values ranging from 0 to 1.

Ranges from [0, 0, 0, 1] to [1, 1, 0, 1] in vector form.

Rgb24

Pixel type containing three 8-bit unsigned normalized values ranging from 0 to 255. The color components are stored in red, green, blue order (least significant to most significant byte).

Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.

Rgb48

Packed pixel type containing three 16-bit unsigned normalized values ranging from 0 to 65535.

Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.

Rgba1010102

Packed vector type containing unsigned normalized values ranging from 0 to 1. The x, y and z components use 10 bits, and the w component uses 2 bits.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Rgba32

Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255. The color components are stored in red, green, blue, and alpha order (least significant to most significant byte).

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Rgba64

Packed pixel type containing four 16-bit unsigned normalized values ranging from 0 to 65535.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

RgbaVector

Unpacked pixel type containing four 32-bit floating-point values typically ranging from 0 to 1. The color components are stored in red, green, blue, and alpha order.

Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.

Short2

Packed pixel type containing two 16-bit signed integer values.

Ranges from [-32767, -32767, 0, 1] to [32767, 32767, 0, 1] in vector form.

Short4

Packed pixel type containing four 16-bit signed integer values.

Ranges from [-37267, -37267, -37267, -37267] to [37267, 37267, 37267, 37267] in vector form.

Interfaces

IPackedVector<TPacked>

This interface exists for ensuring signature compatibility to MonoGame and XNA packed color types. https://msdn.microsoft.com/en-us/library/bb197661.aspx

IPixel

A base interface for all pixels, defining the mandatory operations to be implemented by a pixel type.

IPixel<TSelf>

An interface that represents a generic pixel type. The naming convention of each pixel format is to order the color components from least significant to most significant, reading from left to right. For example in the Rgba32 pixel format the R component is the least significant byte, and the A component is the most significant.

Enums

PixelAlphaCompositionMode

Enumerates the various alpha composition modes.

PixelAlphaRepresentation

Provides enumeration of the alpha value transparency behavior of a pixel format.

PixelColorBlendingMode

Enumerates the various color blending modes.

PixelConversionModifiers

Flags responsible to select additional operations which could be efficiently applied in ToVector4(Configuration, ReadOnlySpan<TPixel>, Span<Vector4>, PixelConversionModifiers) or FromVector4Destructive(Configuration, Span<Vector4>, Span<TPixel>, PixelConversionModifiers) knowing the pixel type.