- Classes
- Namespaces
- Interfaces
- Index

Imagine API
Class

# Imagine\Gd\Image

class Image implements ImageInterface

Image implementation using the GD library

## Methods

| __construct(resource $resource) Constructs a new Image instance using the result of imagecreatetruecolor() |
| __destruct() Makes sure the current image resource is destroyed |
resource | getGdResource() Returns Gd resource |
ManipulatorInterface | copy() Copies current source image into a new ImageInterface instance |
ManipulatorInterface | crop(PointInterface $start, BoxInterface $size) Crops a specified box out of the source image (modifies the source image) Returns cropped self |
ManipulatorInterface | paste(ImageInterface $image, PointInterface $start) Pastes an image into a parent image Throws exceptions if image exceeds parent image borders or if paste operation fails |
ManipulatorInterface | resize(BoxInterface $size, string $filter = ImageInterface::FILTER_UNDEFINED) Resizes current image and returns self |
ManipulatorInterface | rotate(integer $angle, Color $background = null) Rotates an image at the given angle. |
ManipulatorInterface | save(string $path, array $options = array()) Saves the image at a specified path, the target file extension is used to determine file format, only jpg, jpeg, gif, png, wbmp and xbm are supported |
ManipulatorInterface | show(string $format, array $options = array()) Outputs the image content |
string | get(string $format, array $options = array()) Returns the image content as a binary string |
string | __toString() Returns the image content as a PNG binary string |
ManipulatorInterface | flipHorizontally() Flips current image using horizontal axis |
ManipulatorInterface | flipVertically() Flips current image using vertical axis |
ManipulatorInterface | strip() Remove all profiles and comments |
ManipulatorInterface | thumbnail(BoxInterface $size, string $mode = ImageInterface::THUMBNAIL_INSET) Generates a thumbnail from a current image Returns it as a new image, doesn't modify the current image |
DrawerInterface | draw() Instantiates and returns a DrawerInterface instance for image drawing |
EffectsInterface | effects() |
BoxInterface | getSize() Returns current image size |
ManipulatorInterface | applyMask(ImageInterface $mask) Applies a given mask to current image's alpha channel |
ManipulatorInterface | fill(FillInterface $fill) Fills image with provided filling, by replacing each pixel's color in the current image with corresponding color from FillInterface, and returns modified image |
ImageInterface | mask() Transforms creates a grayscale mask from current image, returns a new image, while keeping the existing image unmodified |
array | histogram() Returns array of image colors as Imagine\Image\Color instances |
Color | getColorAt(PointInterface $point) Returns color at specified positions of current image |
LayersInterface | layers() Returns the image layers when applicable. |
ImageInterface | interlace(string $scheme) Enables or disables interlacing |

## Details

###
at line 42
`public __construct(resource $resource)`

Constructs a new Image instance using the result of imagecreatetruecolor()

#### Parameters

resource | $resource |

###
at line 50
`public __destruct()`

Makes sure the current image resource is destroyed

###
at line 62
`public resource getGdResource()`

Returns Gd resource

#### Return Value

resource |

###
at line 70
`final public ManipulatorInterface copy()`

Copies current source image into a new ImageInterface instance

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 87
`final public ManipulatorInterface crop(PointInterface $start, BoxInterface $size)`

Crops a specified box out of the source image (modifies the source image) Returns cropped self

#### Parameters

PointInterface | $start |
BoxInterface | $size |

#### Return Value

ManipulatorInterface |

#### Exceptions

OutOfBoundsException |
RuntimeException |

###
at line 117
`final public ManipulatorInterface paste(ImageInterface $image, PointInterface $start)`

Pastes an image into a parent image Throws exceptions if image exceeds parent image borders or if paste operation fails

Returns source image

#### Parameters

ImageInterface | $image |
PointInterface | $start |

#### Return Value

ManipulatorInterface |

#### Exceptions

InvalidArgumentException |
OutOfBoundsException |
RuntimeException |

###
at line 151
`final public ManipulatorInterface resize(BoxInterface $size, string $filter = ImageInterface::FILTER_UNDEFINED)`

Resizes current image and returns self

#### Parameters

BoxInterface | $size |
string | $filter |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 184
`final public ManipulatorInterface rotate(integer $angle, Color $background = null)`

Rotates an image at the given angle.

Optional $background can be used to specify the fill color of the empty area of rotated image.

#### Parameters

integer | $angle |
Color | $background |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 204
`final public ManipulatorInterface save(string $path, array $options = array())`

Saves the image at a specified path, the target file extension is used to determine file format, only jpg, jpeg, gif, png, wbmp and xbm are supported

#### Parameters

string | $path |
array | $options |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 218
`public ManipulatorInterface show(string $format, array $options = array())`

Outputs the image content

#### Parameters

string | $format |
array | $options |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 230
`public string get(string $format, array $options = array())`

Returns the image content as a binary string

#### Parameters

string | $format |
array | $options |

#### Return Value

string | binary

#### Exceptions

RuntimeException |

###
at line 241
`public string __toString()`

Returns the image content as a PNG binary string

#### Return Value

string | binary

#### Exceptions

RuntimeException |

###
at line 249
`final public ManipulatorInterface flipHorizontally()`

Flips current image using horizontal axis

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 273
`final public ManipulatorInterface flipVertically()`

Flips current image using vertical axis

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 297
`final public ManipulatorInterface strip()`

Remove all profiles and comments

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 309
`public ManipulatorInterface thumbnail(BoxInterface $size, string $mode = ImageInterface::THUMBNAIL_INSET)`

Generates a thumbnail from a current image Returns it as a new image, doesn't modify the current image

#### Parameters

BoxInterface | $size |
string | $mode |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
at line 366
`public DrawerInterface draw()`

Instantiates and returns a DrawerInterface instance for image drawing

#### Return Value

DrawerInterface |

###
at line 374
`public EffectsInterface effects()`

#### Return Value

EffectsInterface |

###
at line 382
`public BoxInterface getSize()`

Returns current image size

#### Return Value

BoxInterface |

###
at line 390
`public ManipulatorInterface applyMask(ImageInterface $mask)`

Applies a given mask to current image's alpha channel

#### Parameters

ImageInterface | $mask |

#### Return Value

ManipulatorInterface |

###
at line 430
`public ManipulatorInterface fill(FillInterface $fill)`

Fills image with provided filling, by replacing each pixel's color in the current image with corresponding color from FillInterface, and returns modified image

#### Parameters

FillInterface | $fill |

#### Return Value

ManipulatorInterface |

###
at line 452
`public ImageInterface mask()`

Transforms creates a grayscale mask from current image, returns a new image, while keeping the existing image unmodified

#### Return Value

ImageInterface |

###
at line 466
`public array histogram()`

Returns array of image colors as Imagine\Image\Color instances

#### Return Value

array |

###
at line 483
`public Color getColorAt(PointInterface $point)`

Returns color at specified positions of current image

#### Parameters

PointInterface | $point |

#### Return Value

Color |

#### Exceptions

RuntimeException |

###
at line 506
`public LayersInterface layers()`

Returns the image layers when applicable.

#### Return Value

LayersInterface |

#### Exceptions

RuntimeException | In case the layer can not be returned
OutOfBoundsException | In case the index is not a valid value

###
at line 518
`public ImageInterface interlace(string $scheme)`

Enables or disables interlacing

#### Parameters

string | $scheme |

#### Return Value

ImageInterface |

#### Exceptions

InvalidArgumentException | When an unsupported Interface type is supplied