CairoMatrix
CairoMatrix::initIdentity
CairoMatrix
PHP Manual

# CairoMatrix::__construct

# cairo_matrix_init

Creates a new CairoMatrix object

### Description

Object oriented style (method):

public CairoMatrix::__construct ([ float `$xx` = 1.0 [, float `$yx` = 0.0 [, float `$xy` = 0.0 [, float `$yy` = 1.0 [, float `$x0` = 0.0 [, float `$y0` = 0.0 ]]]]]] )

Procedural style:

object cairo_matrix_init ([ float `$xx` = 1.0 [, float `$yx` = 0.0 [, float `$xy` = 0.0 [, float `$yy` = 1.0 [, float `$x0` = 0.0 [, float `$y0` = 0.0 ]]]]]] )

Returns new CairoMatrix object. Matrices are used throughout cairo to convert between different coordinate spaces. Sets matrix to be the affine transformation given by xx, yx, xy, yy, x0, y0. The transformation is given by: x_new = xx * x + xy * y + x0; and y_new = yx * x + yy * y + y0;

### Parameters

`xx`

  xx component of the affine transformation

`yx`

  yx component of the affine transformation

`xy`

  xy component of the affine transformation

`yy`

  yy component of the affine transformation

`x0`

  X translation component of the affine transformation

`y0`

  Y translation component of the affine transformation

### Return Values

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

### Examples

Example #1 Object oriented style

`<?php
/* Create a new Matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>`

Example #2 Procedural style

`<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>`

### See Also

- CairoMatrix::initIdentity
- CairoMatrix::initRotate
- CairoMatrix::initScale
- CairoMatrix::initTranslate