Phalcon image
NOTE
All classes are prefixed with Phalcon
Image\Adapter\AbstractAdapter¶
Abstract Source on GitHub
All image adapters must use this class
Phalcon\Image\Adapter\AbstractAdapter- implementsPhalcon\Image\Adapter\AdapterInterface
Uses Phalcon\Image\Enum · Phalcon\Image\Exception · Phalcon\Image\Exceptions\InvalidColor · Phalcon\Image\Exceptions\MissingDimensions · Phalcon\Image\Exceptions\MissingHeight · Phalcon\Image\Exceptions\MissingWidth
Method Summary¶
public
AdapterInterface
background(string $color,int $opacity = 100)
Set the background color of an image
public
AdapterInterface
blur( int $radius )
Blur image
public
AdapterInterface
crop(int $width,int $height,mixed $offsetX = null,mixed $offsetY = null)
Crop an image to the given size
public
AdapterInterface
flip( int $direction )
Flip the image along the horizontal or vertical axis
public
int
getHeight()
public
getImage()
public
string
getMime()
public
string
getRealpath()
public
int
getType()
public
int
getWidth()
public
AdapterInterface
mask( AdapterInterface $mask )
Composite one image onto another
public
AdapterInterface
pixelate( int $amount )
Pixelate image
public
AdapterInterface
reflection(int $height,int $opacity = 100,bool $fadeIn = false)
Add a reflection to an image
public
string
render(string $extension = null,int $quality = 100)
Render the image and return the binary string
public
AdapterInterface
resize(int $width = null,int $height = null,int $master = Enum::AUTO)
Resize the image to the given size
public
AdapterInterface
rotate( int $degrees )
Rotate the image by a given amount
public
AdapterInterface
save(string $file = null,int $quality = -1)
Save the image
public
AdapterInterface
sharpen( int $amount )
Sharpen the image by a given amount
public
AdapterInterface
text(string $text,mixed $offsetX = false,mixed $offsetY = false,int $opacity = 100,string $color = "000000",int $size = 12,string $fontFile = null)
Add a text to an image with a specified opacity
public
AdapterInterface
watermark(AdapterInterface $watermark,int $offsetX = 0,int $offsetY = 0,int $opacity = 100)
Add a watermark to an image with the specified opacity
protected
int
checkHighLow(int $value,int $min = 0,int $max = 100)
protected
void
processBackground(int $red,int $green,int $blue,int $opacity)
Renders the supplied colour onto the image as the background. Channels
protected
void
processBlur( int $radius )
Applies a blur. The radius is already clamped to 1-100.
protected
void
processCrop(int $width,int $height,int $offsetX,int $offsetY)
Crops the image. Width, height and both offsets are already normalized
protected
void
processFlip( int $direction )
Flips the image. The direction is already normalized to
protected
processMask( AdapterInterface $mask )
Composites the supplied image as a mask onto this one. The mask is read
protected
void
processPixelate( int $amount )
Pixelates the image. The amount is already at least 2.
protected
void
processReflection(int $height,int $opacity,bool $fadeIn)
Adds a reflection. The height is clamped to the image height and the
protected
processRender(string $extension,int $quality)
Renders the image to a binary string. The extension is non-empty and the
protected
void
processResize(int $width,int $height)
Resizes the image. Width and height are already resolved to positive
protected
void
processRotate( int $degrees )
Rotates the image. The degrees value is already normalized to -180..180.
protected
processSave(string $file,int $quality)
Saves the image to the supplied file path.
protected
void
processSharpen( int $amount )
Sharpens the image. The amount is already clamped to 1-100.
protected
void
processText(string $text,mixed $offsetX,mixed $offsetY,int $opacity,int $red,int $green,int $blue,int $size,string $fontFile = null)
Renders text onto the image. The opacity is clamped to 0-100 and the
protected
void
processWatermark(AdapterInterface $watermark,int $offsetX,int $offsetY,int $opacity)
Composites the supplied watermark onto this image. Offsets and opacity
Properties¶
protected
string
$file
protected
int
$height
Image height
protected
mixed|null
$image = null
protected
string
$mime
Image mime type
protected
string
$realpath
protected
int
$type
Image type
Driver dependent
protected
int
$width
Image width
Methods¶
background()¶
Set the background color of an image
blur()¶
Blur image
crop()¶
public function crop(
int $width,
int $height,
mixed $offsetX = null,
mixed $offsetY = null
): AdapterInterface;
Crop an image to the given size
flip()¶
Flip the image along the horizontal or vertical axis
getHeight()¶
getImage()¶
getMime()¶
getRealpath()¶
getType()¶
getWidth()¶
mask()¶
Composite one image onto another
The mask is read through its public render() output rather than its internal handle, so a mask created with a different backend composites correctly. The cost is one encode/decode round trip per call, which is worth knowing inside loops.
pixelate()¶
Pixelate image
reflection()¶
public function reflection(
int $height,
int $opacity = 100,
bool $fadeIn = false
): AdapterInterface;
Add a reflection to an image
render()¶
Render the image and return the binary string
resize()¶
public function resize(
int $width = null,
int $height = null,
int $master = Enum::AUTO
): AdapterInterface;
Resize the image to the given size
rotate()¶
Rotate the image by a given amount
save()¶
Save the image
sharpen()¶
Sharpen the image by a given amount
text()¶
public function text(
string $text,
mixed $offsetX = false,
mixed $offsetY = false,
int $opacity = 100,
string $color = "000000",
int $size = 12,
string $fontFile = null
): AdapterInterface;
Add a text to an image with a specified opacity
watermark()¶
public function watermark(
AdapterInterface $watermark,
int $offsetX = 0,
int $offsetY = 0,
int $opacity = 100
): AdapterInterface;
Add a watermark to an image with the specified opacity
The watermark is read through its public render() output rather than its internal handle, so a watermark created with a different backend composites correctly. The cost is one encode/decode round trip per call, which is worth knowing inside loops.
checkHighLow()¶
processBackground()¶
abstract protected function processBackground(
int $red,
int $green,
int $blue,
int $opacity
): void;
Renders the supplied colour onto the image as the background. Channels are 0-255; the opacity is the validated 0-100 value.
processBlur()¶
Applies a blur. The radius is already clamped to 1-100.
processCrop()¶
abstract protected function processCrop(
int $width,
int $height,
int $offsetX,
int $offsetY
): void;
Crops the image. Width, height and both offsets are already normalized to fit within the current canvas.
processFlip()¶
Flips the image. The direction is already normalized to Enum::HORIZONTAL or Enum::VERTICAL.
processMask()¶
Composites the supplied image as a mask onto this one. The mask is read through its public render() output, so it may be any adapter backend.
processPixelate()¶
Pixelates the image. The amount is already at least 2.
processReflection()¶
Adds a reflection. The height is clamped to the image height and the opacity to 0-100.
processRender()¶
Renders the image to a binary string. The extension is non-empty and the quality is already clamped to 1-100. Returns the encoded bytes.
processResize()¶
Resizes the image. Width and height are already resolved to positive integers per the requested resize mode.
processRotate()¶
Rotates the image. The degrees value is already normalized to -180..180.
processSave()¶
Saves the image to the supplied file path.
processSharpen()¶
Sharpens the image. The amount is already clamped to 1-100.
processText()¶
abstract protected function processText(
string $text,
mixed $offsetX,
mixed $offsetY,
int $opacity,
int $red,
int $green,
int $blue,
int $size,
string $fontFile = null
): void;
Renders text onto the image. The opacity is clamped to 0-100 and the colour is supplied as separate 0-255 channels.
processWatermark()¶
abstract protected function processWatermark(
AdapterInterface $watermark,
int $offsetX,
int $offsetY,
int $opacity
): void;
Composites the supplied watermark onto this image. Offsets and opacity are already clamped to the valid range; the watermark is read through its public render() output, so it may be any adapter backend.
Image\Adapter\AdapterInterface¶
Interface Source on GitHub
Interface for Phalcon\Image\Adapter classes
Phalcon\Image\Adapter\AdapterInterface
Uses Phalcon\Image\Enum
Method Summary¶
public
AdapterInterface
background(string $color,int $opacity = 100)
Add a background to an image
public
AdapterInterface
blur( int $radius )
Blur an image
public
AdapterInterface
crop(int $width,int $height,int $offsetX = null,int $offsetY = null)
Crop an image
public
AdapterInterface
flip( int $direction )
Flip an image
public
int
getHeight()
public
int
getWidth()
public
AdapterInterface
mask( AdapterInterface $mask )
Add a mask to an image
public
AdapterInterface
pixelate( int $amount )
Pixelate an image
public
AdapterInterface
reflection(int $height,int $opacity = 100,bool $fadeIn = false)
Reflect an image
public
string
render(string $extension = null,int $quality = 100)
Render an image
public
AdapterInterface
resize(int $width = null,int $height = null,int $master = Enum::AUTO)
Resize an image
public
AdapterInterface
rotate( int $degrees )
Rotate an image
public
AdapterInterface
save(string $file = null,int $quality = 100)
Save an image
public
AdapterInterface
sharpen( int $amount )
Sharpen an image
public
AdapterInterface
text(string $text,int $offsetX = 0,int $offsetY = 0,int $opacity = 100,string $color = "000000",int $size = 12,string $fontFile = null)
Adds text on an image
public
AdapterInterface
watermark(AdapterInterface $watermark,int $offsetX = 0,int $offsetY = 0,int $opacity = 100)
Add a watermark on an image
Methods¶
background()¶
Add a background to an image
blur()¶
Blur an image
crop()¶
public function crop(
int $width,
int $height,
int $offsetX = null,
int $offsetY = null
): AdapterInterface;
Crop an image
flip()¶
Flip an image
getHeight()¶
getWidth()¶
mask()¶
Add a mask to an image
pixelate()¶
Pixelate an image
reflection()¶
public function reflection(
int $height,
int $opacity = 100,
bool $fadeIn = false
): AdapterInterface;
Reflect an image
render()¶
Render an image
resize()¶
public function resize(
int $width = null,
int $height = null,
int $master = Enum::AUTO
): AdapterInterface;
Resize an image
rotate()¶
Rotate an image
save()¶
Save an image
sharpen()¶
Sharpen an image
text()¶
public function text(
string $text,
int $offsetX = 0,
int $offsetY = 0,
int $opacity = 100,
string $color = "000000",
int $size = 12,
string $fontFile = null
): AdapterInterface;
Adds text on an image
watermark()¶
public function watermark(
AdapterInterface $watermark,
int $offsetX = 0,
int $offsetY = 0,
int $opacity = 100
): AdapterInterface;
Add a watermark on an image
Image\Adapter\Gd¶
Class Source on GitHub
Image manipulation backed by the GD extension.
Capabilities:
| Aspect | Support |
|---|---|
| Load formats | GIF, JPEG, JPEG 2000, PNG, WEBP, WBMP, XBM |
| Render/save formats | GIF, JPEG, PNG, WBMP, WEBP, XBM |
| Backend-only API | none |
Unsupported render/save formats raise Phalcon\Image\Exceptions\UnsupportedImageType. Visual semantics differ from the Imagick adapter: blur() applies repeated 3x3 Gaussian convolutions (the radius is the number of passes), while sharpen and reflection use GD's own scales. Switching the factory backend can change the rendered output.
Phalcon\Image\Adapter\AbstractAdapterPhalcon\Image\Adapter\Gd
Uses Phalcon\Image\Enum · Phalcon\Image\Exception · Phalcon\Image\Exceptions\ExtensionNotLoaded · Phalcon\Image\Exceptions\ImageLoadFailed · Phalcon\Image\Exceptions\TextRenderingFailed · Phalcon\Image\Exceptions\UnsupportedImageType · Phalcon\Image\Exceptions\VersionMismatch
Method Summary¶
public
__construct(string $file,int $width = null,int $height = null)
Loads an image from a file, or creates a blank canvas.
public
__destruct()
Destructor
public
AbstractAdapter
create(int $width,int $height)
Creates a blank true-color canvas of the given dimensions, without the
public
string
getVersion()
protected
void
processBackground(int $red,int $green,int $blue,int $opacity)
protected
void
processBlur( int $radius )
protected
processCreate(int $width,int $height)
protected
void
processCrop(int $width,int $height,int $offsetX,int $offsetY)
protected
void
processFlip( int $direction )
protected
processMask( AdapterInterface $mask )
protected
void
processPixelate( int $amount )
protected
void
processReflection(int $height,int $opacity,bool $fadeIn)
protected
processRender(string $extension,int $quality)
protected
void
processResize(int $width,int $height)
protected
void
processRotate( int $degrees )
protected
bool
processSave(string $file,int $quality)
protected
void
processSharpen( int $amount )
protected
void
processText(string $text,mixed $offsetX,mixed $offsetY,int $opacity,int $red,int $green,int $blue,int $size,string $fontFile = null)
protected
void
processWatermark(AdapterInterface $watermark,int $offsetX,int $offsetY,int $opacity)
Methods¶
__construct()¶
Loads an image from a file, or creates a blank canvas.
When the file exists it is loaded. When the file does not exist and both a width and a height are supplied, a blank true-color canvas is created instead - its realpath, mime and type then describe a PNG canvas rather than the named file. Prefer Gd::create() for the canvas case; this dual mode is slated for removal in the next major version.
__destruct()¶
Destructor
create()¶
Creates a blank true-color canvas of the given dimensions, without the load-or-create ambiguity of the constructor.
getVersion()¶
processBackground()¶
processBlur()¶
processCreate()¶
processCrop()¶
processFlip()¶
processMask()¶
processPixelate()¶
processReflection()¶
processRender()¶
processResize()¶
processRotate()¶
processSave()¶
processSharpen()¶
processText()¶
protected function processText(
string $text,
mixed $offsetX,
mixed $offsetY,
int $opacity,
int $red,
int $green,
int $blue,
int $size,
string $fontFile = null
): void;
processWatermark()¶
protected function processWatermark(
AdapterInterface $watermark,
int $offsetX,
int $offsetY,
int $opacity
): void;
Image\Adapter\Imagick¶
Class Source on GitHub
Phalcon\Image\Adapter\Imagick
Image manipulation support. Resize, rotate, crop etc.
$image = new \Phalcon\Image\Adapter\Imagick("upload/test.jpg");
$image->resize(200, 200)->rotate(90)->crop(100, 100);
if ($image->save()) {
echo "success";
}
Capabilities:
| Aspect | Support |
|---|---|
| Load formats | Whatever the linked ImageMagick build supports |
| Render/save formats | Whatever the linked ImageMagick build supports |
| Backend-only API | liquidRescale(), setResourceLimit() |
Visual semantics differ from the Gd adapter: blur() maps the radius to a blur sigma, while sharpen and reflection use ImageMagick's own scales. Switching the factory backend can change the rendered output.
Phalcon\Image\Adapter\AbstractAdapterPhalcon\Image\Adapter\Imagick
Uses Imagick · ImagickDraw · ImagickDrawException · ImagickException · ImagickPixel · ImagickPixelException · Phalcon\Image\Enum · Phalcon\Image\Exception · Phalcon\Image\Exceptions\CompositeFailed · Phalcon\Image\Exceptions\ExtensionNotLoaded · Phalcon\Image\Exceptions\ImageLoadFailed · Phalcon\Image\Exceptions\ResizeFailed · Phalcon\Image\Exceptions\ResourceTypeError
Method Summary¶
public
__construct(string $file,int $width = null,int $height = null)
Loads an image from a file, or creates a blank canvas.
public
__destruct()
Destroys the loaded image to free up resources.
public
AbstractAdapter
create(int $width,int $height)
Creates a blank transparent canvas of the given dimensions, without the
public
AbstractAdapter
liquidRescale(int $width,int $height,int $deltaX = 0,int $rigidity = 0)
This method scales the images using liquid rescaling method. Only support
public
void
setResourceLimit(int $type,int $limit)
Sets the limit for a particular resource in megabytes
protected
void
processBackground(int $red,int $green,int $blue,int $opacity)
Execute a background.
protected
void
processBlur( int $radius )
Blur image
protected
void
processCrop(int $width,int $height,int $offsetX,int $offsetY)
Execute a crop.
protected
void
processFlip( int $direction )
Execute a flip.
protected
void
processMask( AdapterInterface $mask )
Composite one image onto another
protected
void
processPixelate( int $amount )
Pixelate image
protected
void
processReflection(int $height,int $opacity,bool $fadeIn)
Execute a reflection.
protected
string
processRender(string $extension,int $quality)
Execute a render.
protected
void
processResize(int $width,int $height)
Execute a resize.
protected
void
processRotate( int $degrees )
Execute a rotation.
protected
void
processSave(string $file,int $quality)
Execute a save.
protected
void
processSharpen( int $amount )
Execute a sharpen.
protected
void
processText(string $text,mixed $offsetX,mixed $offsetY,int $opacity,int $red,int $green,int $blue,int $size,string $fontFile = null)
Execute a text
protected
void
processWatermark(AdapterInterface $watermark,int $offsetX,int $offsetY,int $opacity)
Add Watermark
Properties¶
protected
int
$version = 0
Methods¶
__construct()¶
Loads an image from a file, or creates a blank canvas.
When the file exists it is loaded. When the file does not exist and both a width and a height are supplied, a blank transparent canvas is created instead - its realpath, mime and type then describe a PNG canvas rather than the named file. Prefer Imagick::create() for the canvas case; this dual mode is slated for removal in the next major version.
__destruct()¶
Destroys the loaded image to free up resources.
create()¶
Creates a blank transparent canvas of the given dimensions, without the load-or-create ambiguity of the constructor.
liquidRescale()¶
public function liquidRescale(
int $width,
int $height,
int $deltaX = 0,
int $rigidity = 0
): AbstractAdapter;
This method scales the images using liquid rescaling method. Only support Imagick
setResourceLimit()¶
Sets the limit for a particular resource in megabytes
@link https://www.php.net/manual/en/imagick.constants.php#imagick.constants.resourcetypes
processBackground()¶
Execute a background.
processBlur()¶
Blur image
processCrop()¶
Execute a crop.
processFlip()¶
Execute a flip.
processMask()¶
Composite one image onto another
processPixelate()¶
Pixelate image
processReflection()¶
Execute a reflection.
processRender()¶
Execute a render.
processResize()¶
Execute a resize.
processRotate()¶
Execute a rotation.
processSave()¶
Execute a save.
processSharpen()¶
Execute a sharpen.
processText()¶
protected function processText(
string $text,
mixed $offsetX,
mixed $offsetY,
int $opacity,
int $red,
int $green,
int $blue,
int $size,
string $fontFile = null
): void;
Execute a text
processWatermark()¶
protected function processWatermark(
AdapterInterface $watermark,
int $offsetX,
int $offsetY,
int $opacity
): void;
Add Watermark
Image\Enum¶
Class Source on GitHub
Phalcon\Image\Enum
Constants¶
int
AUTO = 4
int
HEIGHT = 3
int
HORIZONTAL = 11
int
INVERSE = 5
int
NONE = 1
int
PRECISE = 6
int
TENSILE = 7
int
VERTICAL = 12
int
WIDTH = 2
Image\Exception¶
Class Source on GitHub
Exceptions thrown in Phalcon\Image will use this class
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\CompositeFailedPhalcon\Image\Exceptions\ExtensionNotLoadedPhalcon\Image\Exceptions\ImageLoadFailedPhalcon\Image\Exceptions\InvalidColorPhalcon\Image\Exceptions\MissingDimensionsPhalcon\Image\Exceptions\MissingHeightPhalcon\Image\Exceptions\MissingWidthPhalcon\Image\Exceptions\ResizeFailedPhalcon\Image\Exceptions\ResourceTypeErrorPhalcon\Image\Exceptions\TextRenderingFailedPhalcon\Image\Exceptions\UnsupportedImageTypePhalcon\Image\Exceptions\VersionMismatch
Image\Exceptions\CompositeFailed¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\CompositeFailed
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\ExtensionNotLoaded¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\ExtensionNotLoaded
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\ImageLoadFailed¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\ImageLoadFailed
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\InvalidColor¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\InvalidColor
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\MissingDimensions¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\MissingDimensions
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\MissingHeight¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\MissingHeight
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\MissingWidth¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\MissingWidth
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\ResizeFailed¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\ResizeFailed
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\ResourceTypeError¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\ResourceTypeError
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\TextRenderingFailed¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\TextRenderingFailed
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\UnsupportedImageType¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\UnsupportedImageType
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\Exceptions\VersionMismatch¶
Class Source on GitHub
\ExceptionPhalcon\Image\ExceptionPhalcon\Image\Exceptions\VersionMismatch
Uses Phalcon\Image\Exception
Method Summary¶
Methods¶
__construct()¶
Image\ImageFactory¶
Class Source on GitHub
Factory to create adapters for image manipulation
Phalcon\Factory\AbstractConfigFactoryPhalcon\Factory\AbstractFactoryPhalcon\Image\ImageFactory
Uses Phalcon\Config\ConfigInterface · Phalcon\Factory\AbstractFactory · Phalcon\Image\Adapter\AdapterInterface
Method Summary¶
public
__construct( array $services = [] )
Constructor
public
AdapterInterface
load( mixed $config )
Factory to create an instance from a Config object
public
AdapterInterface
newInstance(string $name,string $file,int $width = null,int $height = null)
Creates a new instance
protected
string
getExceptionClass()
protected
array
getServices()
Returns the available adapters
Methods¶
__construct()¶
Constructor
load()¶
Factory to create an instance from a Config object
newInstance()¶
public function newInstance(
string $name,
string $file,
int $width = null,
int $height = null
): AdapterInterface;
Creates a new instance
getExceptionClass()¶
getServices()¶
Returns the available adapters