# The CairoFormat class

(PECL cairo >= 0.1.0)

## Introduction

CairoFormat enums are used to identify the memory format of the image data.

## Class synopsis

CairoFormat {
/* Constants */
const integer ARGB32 = 0 ;
const integer RGB24 = 1 ;
const integer A8 = 2 ;
const integer A1 = 3 ;
/* Methods */
public static strideForWidth ( int `$format` , int `$width` ) : int
}

## Predefined Constants

`CairoFormat::ARGB32`

  Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then red, then green, then blue. The 32-bit quantities are stored native-endian. Pre-multiplied alpha is used. (That is, 50% transparent red is 0x80800000, not 0x80ff0000.)

`CairoFormat::RGB24`

  Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red, Green, and Blue are stored in the remaining 24 bits in that order.

`CairoFormat::A8`

  Each pixel is a 8-bit quantity holding an alpha value.

`CairoFormat::A1`

  Each pixel is a 1-bit quantity holding an alpha value. Pixels are packed together into 32-bit quantities. The ordering of the bits matches the endianness of the platform. On a big-endian machine, the first pixel is in the uppermost bit, on a little-endian machine the first pixel is in the least-significant bit.

## Table of Contents

- CairoFormat::strideForWidth — Provides an appropriate stride to use