- Classes
- Namespaces
- Interfaces
- Traits
- Index

Interface

# Imagine\Image\ImageInterface

interface ImageInterface implements ManipulatorInterface

The image interface

## Constants

RESOLUTION_PIXELSPERINCH |
RESOLUTION_PIXELSPERCENTIMETER |
INTERLACE_NONE |
INTERLACE_LINE |
INTERLACE_PLANE |
INTERLACE_PARTITION |
FILTER_UNDEFINED |
FILTER_POINT |
FILTER_BOX |
FILTER_TRIANGLE |
FILTER_HERMITE |
FILTER_HANNING |
FILTER_HAMMING |
FILTER_BLACKMAN |
FILTER_GAUSSIAN |
FILTER_QUADRATIC |
FILTER_CUBIC |
FILTER_CATROM |
FILTER_MITCHELL |
FILTER_LANCZOS |
FILTER_BESSEL |
FILTER_SINC |

## Methods

ManipulatorInterface | copy() Copies current source image into a new ImageInterface instance | from ManipulatorInterface
ManipulatorInterface | crop(PointInterface $start, BoxInterface $size) Crops a specified box out of the source image (modifies the source image) Returns cropped self | from ManipulatorInterface
ManipulatorInterface | resize(BoxInterface $size, string $filter = ImageInterface::FILTER_UNDEFINED) Resizes current image and returns self | from ManipulatorInterface
ManipulatorInterface | rotate(integer $angle, ColorInterface $background = null) Rotates an image at the given angle. | from ManipulatorInterface
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 | from ManipulatorInterface
ManipulatorInterface | save(string $path = null, 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 | from ManipulatorInterface
ManipulatorInterface | show(string $format, array $options = array()) Outputs the image content | from ManipulatorInterface
ManipulatorInterface | flipHorizontally() Flips current image using horizontal axis | from ManipulatorInterface
ManipulatorInterface | flipVertically() Flips current image using vertical axis | from ManipulatorInterface
ManipulatorInterface | strip() Remove all profiles and comments | from ManipulatorInterface
ManipulatorInterface | thumbnail(BoxInterface $size, string $mode = self::THUMBNAIL_INSET, string $filter = ImageInterface::FILTER_UNDEFINED) Generates a thumbnail from a current image Returns it as a new image, doesn't modify the current image | from ManipulatorInterface
ManipulatorInterface | applyMask(ImageInterface $mask) Applies a given mask to current image's alpha channel | from ManipulatorInterface
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 | from ManipulatorInterface
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 |
DrawerInterface | draw() Instantiates and returns a DrawerInterface instance for image drawing |
EffectsInterface | effects() |
BoxInterface | getSize() Returns current image size |
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\Palette\Color\ColorInterface instances |
ColorInterface | 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 |
PaletteInterface | palette() Return the current color palette |
ImageInterface | usePalette(PaletteInterface $palette) Set a palette for the image. |
ImageInterface | profile(ProfileInterface $profile) Applies a color profile on the Image |
MetadataInterface | metadata() Returns the Image's meta data |

## Details

###
in ManipulatorInterface at line 34
`public ManipulatorInterface copy()`

Copies current source image into a new ImageInterface instance

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
in ManipulatorInterface at line 48
`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 |

###
in ManipulatorInterface at line 60
`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 |

###
in ManipulatorInterface at line 74
`public ManipulatorInterface rotate(integer $angle, ColorInterface $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 |
ColorInterface | $background |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
in ManipulatorInterface at line 92
`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 |

###
in ManipulatorInterface at line 106
`public ManipulatorInterface save(string $path = null, 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 |

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

Outputs the image content

#### Parameters

string | $format |
array | $options |

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
in ManipulatorInterface at line 127
`public ManipulatorInterface flipHorizontally()`

Flips current image using horizontal axis

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
in ManipulatorInterface at line 136
`public ManipulatorInterface flipVertically()`

Flips current image using vertical axis

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
in ManipulatorInterface at line 145
`public ManipulatorInterface strip()`

Remove all profiles and comments

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

###
in ManipulatorInterface at line 159
`public ManipulatorInterface thumbnail(BoxInterface $size, string $mode = self::THUMBNAIL_INSET, string $filter = ImageInterface::FILTER_UNDEFINED)`

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

#### Parameters

BoxInterface | $size |
string | $mode |
string | $filter | The filter to use for resizing, one of ImageInterface::FILTER_*

#### Return Value

ManipulatorInterface |

#### Exceptions

RuntimeException |

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

Applies a given mask to current image's alpha channel

#### Parameters

ImageInterface | $mask |

#### Return Value

ManipulatorInterface |

###
in ManipulatorInterface at line 179
`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 61
`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 70
`public string __toString()`

Returns the image content as a PNG binary string

#### Return Value

string | binary

#### Exceptions

RuntimeException |

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

Instantiates and returns a DrawerInterface instance for image drawing

#### Return Value

DrawerInterface |

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

#### Return Value

EffectsInterface |

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

Returns current image size

#### Return Value

BoxInterface |

###
at line 97
`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 104
`public array histogram()`

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

#### Return Value

array |

###
at line 115
`public ColorInterface getColorAt(PointInterface $point)`

Returns color at specified positions of current image

#### Parameters

PointInterface | $point |

#### Return Value

ColorInterface |

#### Exceptions

RuntimeException |

###
at line 125
`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 136
`public ImageInterface interlace(string $scheme)`

Enables or disables interlacing

#### Parameters

string | $scheme |

#### Return Value

ImageInterface |

#### Exceptions

InvalidArgumentException | When an unsupported Interface type is supplied

###
at line 143
`public PaletteInterface palette()`

Return the current color palette

#### Return Value

PaletteInterface |

###
at line 154
`public ImageInterface usePalette(PaletteInterface $palette)`

Set a palette for the image.

Useful to change colorspace.

#### Parameters

PaletteInterface | $palette |

#### Return Value

ImageInterface |

#### Exceptions

RuntimeException |

###
at line 165
`public ImageInterface profile(ProfileInterface $profile)`

Applies a color profile on the Image

#### Parameters

ProfileInterface | $profile |

#### Return Value

ImageInterface |

#### Exceptions

RuntimeException |

###
at line 172
`public MetadataInterface metadata()`

Returns the Image's meta data

#### Return Value

MetadataInterface |