mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-25 18:19:22 +03:00
173 lines
4.1 KiB
PHP
173 lines
4.1 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Imagine package.
|
|
*
|
|
* (c) Bulat Shakirzyanov <mallluhuct@gmail.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Imagine\Image;
|
|
|
|
use Imagine\Draw\DrawerInterface;
|
|
use Imagine\Effects\EffectsInterface;
|
|
use Imagine\Image\Palette\PaletteInterface;
|
|
use Imagine\Image\Palette\Color\ColorInterface;
|
|
use Imagine\Exception\RuntimeException;
|
|
use Imagine\Exception\OutOfBoundsException;
|
|
|
|
/**
|
|
* The image interface
|
|
*/
|
|
interface ImageInterface extends ManipulatorInterface
|
|
{
|
|
const RESOLUTION_PIXELSPERINCH = 'ppi';
|
|
const RESOLUTION_PIXELSPERCENTIMETER = 'ppc';
|
|
|
|
const INTERLACE_NONE = 'none';
|
|
const INTERLACE_LINE = 'line';
|
|
const INTERLACE_PLANE = 'plane';
|
|
const INTERLACE_PARTITION = 'partition';
|
|
|
|
const FILTER_UNDEFINED = 'undefined';
|
|
const FILTER_POINT = 'point';
|
|
const FILTER_BOX = 'box';
|
|
const FILTER_TRIANGLE = 'triangle';
|
|
const FILTER_HERMITE = 'hermite';
|
|
const FILTER_HANNING = 'hanning';
|
|
const FILTER_HAMMING = 'hamming';
|
|
const FILTER_BLACKMAN = 'blackman';
|
|
const FILTER_GAUSSIAN = 'gaussian';
|
|
const FILTER_QUADRATIC = 'quadratic';
|
|
const FILTER_CUBIC = 'cubic';
|
|
const FILTER_CATROM = 'catrom';
|
|
const FILTER_MITCHELL = 'mitchell';
|
|
const FILTER_LANCZOS = 'lanczos';
|
|
const FILTER_BESSEL = 'bessel';
|
|
const FILTER_SINC = 'sinc';
|
|
|
|
/**
|
|
* Returns the image content as a binary string
|
|
*
|
|
* @param string $format
|
|
* @param array $options
|
|
*
|
|
* @throws RuntimeException
|
|
*
|
|
* @return string binary
|
|
*/
|
|
public function get($format, array $options = array());
|
|
|
|
/**
|
|
* Returns the image content as a PNG binary string
|
|
*
|
|
* @throws RuntimeException
|
|
*
|
|
* @return string binary
|
|
*/
|
|
public function __toString();
|
|
|
|
/**
|
|
* Instantiates and returns a DrawerInterface instance for image drawing
|
|
*
|
|
* @return DrawerInterface
|
|
*/
|
|
public function draw();
|
|
|
|
/**
|
|
* @return EffectsInterface
|
|
*/
|
|
public function effects();
|
|
|
|
/**
|
|
* Returns current image size
|
|
*
|
|
* @return BoxInterface
|
|
*/
|
|
public function getSize();
|
|
|
|
/**
|
|
* Transforms creates a grayscale mask from current image, returns a new
|
|
* image, while keeping the existing image unmodified
|
|
*
|
|
* @return ImageInterface
|
|
*/
|
|
public function mask();
|
|
|
|
/**
|
|
* Returns array of image colors as Imagine\Image\Palette\Color\ColorInterface instances
|
|
*
|
|
* @return array
|
|
*/
|
|
public function histogram();
|
|
|
|
/**
|
|
* Returns color at specified positions of current image
|
|
*
|
|
* @param PointInterface $point
|
|
*
|
|
* @throws RuntimeException
|
|
*
|
|
* @return ColorInterface
|
|
*/
|
|
public function getColorAt(PointInterface $point);
|
|
|
|
/**
|
|
* Returns the image layers when applicable.
|
|
*
|
|
* @throws RuntimeException In case the layer can not be returned
|
|
* @throws OutOfBoundsException In case the index is not a valid value
|
|
*
|
|
* @return LayersInterface
|
|
*/
|
|
public function layers();
|
|
|
|
/**
|
|
* Enables or disables interlacing
|
|
*
|
|
* @param string $scheme
|
|
*
|
|
* @throws InvalidArgumentException When an unsupported Interface type is supplied
|
|
*
|
|
* @return ImageInterface
|
|
*/
|
|
public function interlace($scheme);
|
|
|
|
/**
|
|
* Return the current color palette
|
|
*
|
|
* @return PaletteInterface
|
|
*/
|
|
public function palette();
|
|
|
|
/**
|
|
* Set a palette for the image. Useful to change colorspace.
|
|
*
|
|
* @param PaletteInterface $palette
|
|
*
|
|
* @return ImageInterface
|
|
*
|
|
* @throws RuntimeException
|
|
*/
|
|
public function usePalette(PaletteInterface $palette);
|
|
|
|
/**
|
|
* Applies a color profile on the Image
|
|
*
|
|
* @param ProfileInterface $profile
|
|
*
|
|
* @return ImageInterface
|
|
*
|
|
* @throws RuntimeException
|
|
*/
|
|
public function profile(ProfileInterface $profile);
|
|
|
|
/**
|
|
* Returns the Image's meta data
|
|
*
|
|
* @return Metadata\MetadataInterface
|
|
*/
|
|
public function metadata();
|
|
}
|