- Classes
- Namespaces
- Interfaces
- Index

Imagine API
Class

# Imagine\Imagick\Layers

class Layers extends AbstractLayers

## Methods

LayersInterface | add(ImageInterface $image) Adds an image at the end of the layers stack | from AbstractLayers
LayersInterface | set(integer $offset, ImageInterface $image) Set an image at offset | from AbstractLayers
LayersInterface | remove(integer $offset) Removes the image at offset | from AbstractLayers
ImageInterface | get(integer $offset) Returns the image at offset | from AbstractLayers
Boolean | has(integer $offset) Returns true if a layer at offset is preset | from AbstractLayers
| __construct(Image $image, Imagick $resource) |
| merge() Merge layers into the original objects |
LayersInterface | animate(string $format, integer $delay, integer $loops) Animates layers |
| coalesce() Coalesce layers. |
| current() {@inheritdoc} |
| key() {@inheritdoc} |
| next() {@inheritdoc} |
| rewind() {@inheritdoc} |
| valid() {@inheritdoc} |
| count() {@inheritdoc} |
| offsetExists($offset) {@inheritdoc} |
| offsetGet($offset) {@inheritdoc} |
| offsetSet($offset, $image) {@inheritdoc} |
| offsetUnset($offset) {@inheritdoc} |

## Details

###
in AbstractLayers at line 22
`public LayersInterface add(ImageInterface $image)`

Adds an image at the end of the layers stack

#### Parameters

ImageInterface | $image |

#### Return Value

LayersInterface |

#### Exceptions

RuntimeException |

###
in AbstractLayers at line 32
`public LayersInterface set(integer $offset, ImageInterface $image)`

Set an image at offset

#### Parameters

integer | $offset |
ImageInterface | $image |

#### Return Value

LayersInterface |

#### Exceptions

RuntimeException |
InvalidArgumentException |
OutOfBoundsException |

###
in AbstractLayers at line 42
`public LayersInterface remove(integer $offset)`

Removes the image at offset

#### Parameters

integer | $offset |

#### Return Value

LayersInterface |

#### Exceptions

RuntimeException |
InvalidArgumentException |

###
in AbstractLayers at line 52
`public ImageInterface get(integer $offset)`

Returns the image at offset

#### Parameters

integer | $offset |

#### Return Value

ImageInterface |

#### Exceptions

RuntimeException |
InvalidArgumentException |

###
in AbstractLayers at line 60
`public Boolean has(integer $offset)`

Returns true if a layer at offset is preset

#### Parameters

integer | $offset |

#### Return Value

Boolean |

###
at line 39
`public __construct(Image $image, Imagick $resource)`

#### Parameters

Image | $image |
Imagick | $resource |

###
at line 48
`public merge()`

Merge layers into the original objects

#### Exceptions

RuntimeException |

###
at line 65
`public LayersInterface animate(string $format, integer $delay, integer $loops)`

Animates layers

#### Parameters

string | $format | The output output format
integer | $delay | The delay in milliseconds between two frames
integer | $loops | The number of loops, 0 means infinite

#### Return Value

LayersInterface |

#### Exceptions

InvalidArgumentException | In case an invalid argument is provided
RuntimeException | In case the driver fails to animate

###
at line 95
`public coalesce()`

Coalesce layers.

Each layer in the sequence is the same size as the first and composited with the next layer in the sequence.

###
at line 121
`public current()`

{@inheritdoc}

###
at line 153
`public key()`

{@inheritdoc}

###
at line 161
`public next()`

{@inheritdoc}

###
at line 169
`public rewind()`

{@inheritdoc}

###
at line 177
`public valid()`

{@inheritdoc}

###
at line 185
`public count()`

{@inheritdoc}

###
at line 199
`public offsetExists($offset)`

{@inheritdoc}

#### Parameters

| $offset |

###
at line 207
`public offsetGet($offset)`

{@inheritdoc}

#### Parameters

| $offset |

###
at line 215
`public offsetSet($offset, $image)`

{@inheritdoc}

#### Parameters

| $offset |
| $image |

###
at line 260
`public offsetUnset($offset)`

{@inheritdoc}

#### Parameters

| $offset |