Documentation

Horde_Image_Imagick extends Horde_Image_Base
in package

Imagick driver for the Horde_Image API.

Tags
author

Michael J. Rubinsky mrubinsk@horde.org

category

Horde

copyright

2007-2017 Horde LLC

license

http://www.horde.org/licenses/lgpl21 LGPL-2.1

Table of Contents

$imagick  : Imagick
$_background  : string
Background color.
$_capabilities  : array<string|int, string>
Capabilites of this driver.
$_context  : mixed
Cache the context
$_data  : Horde_Stream
The current image data.
$_height  : int
The current height of the image data.
$_imagick  : Imagick
The underlaying Imagick object.
$_loadedEffects  : array<string|int, mixed>
Array containing available Effects
$_logger  : mixed
Logger.
$_tmpdir  : string
A directory for temporary files.
$_type  : string
What kind of images should ImageMagick generate? Defaults to 'png'.
$_width  : int
The current width of the image data.
$_noMoreImages  : bool
Flag for iterator, since calling nextImage on Imagick would result in a fatal error if there are no more images.
__call()  : mixed
Catch-all method so that we don't error out when calling an unsupported manipulation method.
__construct()  : mixed
Constructor.
__get()  : mixed
addEffect()  : mixed
Attempts to apply requested effect to this image.
applyEffects()  : mixed
Applies any effects in the effect queue.
arc()  : mixed
Draws an arc.
brush()  : mixed
Draws a shaped point at the specified (x,y) point.
circle()  : mixed
Draws a circle.
clearGeometry()  : mixed
Utility function to zero out cached geometry information.
cloneImagickObject()  : Imagick
Wrapper around cloning the imagick resource object.
crop()  : mixed
Crops the current image.
current()  : Horde_Image_Imagick
Returns the current image from the internal iterator.
dashedLine()  : mixed
Draws a dashed line.
display()  : mixed
Displays the current image.
flattenImage()  : mixed
Flatten the provided image and remove transparency.
flip()  : mixed
Flips the current image.
frameImage()  : mixed
Utility function to wrap Imagick::borderImage.
getCapabilities()  : array<string|int, mixed>
Returns the capabilities.
getContentType()  : string
Returns the MIME type for this image.
getDimensions()  : array<string|int, mixed>
Returns the height and width of the current image data.
getImageAtIndex()  : Horde_Image_Imagick
Returns a specific image from the pages of images.
getImagePageCount()  : int
Returns the number of image pages available in the image object.
getLoadedEffects()  : mixed
Returns a list of available effects for this driver.
getTmpDir()  : string
Returns the current temporary directory.
getType()  : string
Returns the image type.
grayscale()  : mixed
Converts the current image to grayscale.
hasCapability()  : bool
Checks the existence of a particular capability.
headers()  : mixed
Sends HTTP headers for the image.
key()  : int
Returns the index of the internal iterator.
line()  : mixed
Draws a line.
loadFile()  : mixed
Loads the image data from a file.
loadString()  : mixed
Loads the image data from a string.
mirror()  : mixed
Mirrors the current image.
next()  : Horde_Image_Imagick
Advances the iterator.
polygon()  : mixed
Draws a polygon based on a set of vertices.
polyline()  : mixed
Draws a polyline (a non-closed, non-filled polygon) based on a set of vertices.
raw()  : mixed
Returns the raw data for this image.
rectangle()  : mixed
Draws a rectangle.
reset()  : mixed
Resets the image data to defaults.
resize()  : mixed
Resizes the current image.
rewind()  : mixed
Resets the Imagick iterator to the first image in the set.
rotate()  : mixed
Rotates the current image.
roundedRectangle()  : mixed
Draws a rounded rectangle.
sepia()  : mixed
Applies a sepia filter.
setType()  : string
Sets the output image type.
text()  : mixed
Draws a text string on the image in a specified location, with the specified style information.
toFile()  : string
Saves image data to file.
valid()  : bool
Deterimines if the current iterator item is valid.
_logDebug()  : mixed
Logs a message at debug level.
_logErr()  : mixed
Logs a message at error level.

Properties

$imagick read-only

public Imagick $imagick

The underlaying Imagick object.

$_background

Background color.

protected string $_background = 'white'

$_capabilities

Capabilites of this driver.

protected array<string|int, string> $_capabilities = array('canvas', 'circle', 'crop', 'dashedLine', 'flip', 'grayscale', 'line', 'mirror', 'multipage', 'pdf', 'polygon', 'polyline', 'rectangle', 'resize', 'rotate', 'roundedRectangle', 'sepia', 'text')

$_context

Cache the context

protected mixed $_context

$_data

The current image data.

protected Horde_Stream $_data

$_height

The current height of the image data.

protected int $_height = 0

$_imagick

The underlaying Imagick object.

protected Imagick $_imagick

$_loadedEffects

Array containing available Effects

protected array<string|int, mixed> $_loadedEffects = array()

$_logger

Logger.

protected mixed $_logger

$_tmpdir

A directory for temporary files.

protected string $_tmpdir

$_type

What kind of images should ImageMagick generate? Defaults to 'png'.

protected string $_type = 'png'

$_width

The current width of the image data.

protected int $_width = 0

$_noMoreImages

Flag for iterator, since calling nextImage on Imagick would result in a fatal error if there are no more images.

private bool $_noMoreImages = \false

Methods

__call()

Catch-all method so that we don't error out when calling an unsupported manipulation method.

public __call(mixed $method, mixed $args) : mixed
Parameters
$method : mixed
$args : mixed
Return values
mixed

__construct()

Constructor.

public __construct(mixed $params[, mixed $context = array() ]) : mixed
Parameters
$params : mixed

The image object parameters. Values include:

  • background: (string) The background color. DEFAULT: white.
  • data: (string) The image binary data.
  • height: (integer) The desired image height.
  • type: (string) The output image type (png, jpeg etc.). DEFAULT: png.
  • width: (integer) The desired image width.
$context : mixed = array()

The object context - configuration, injected objects:

  • logger: (Horde_Log_Logger) A logger.
  • tmpdir: [REQUIRED] (string) Temporary directory.
Tags
see
Horde_Image_Base::_construct
Return values
mixed

__get()

public __get(mixed $property) : mixed
Parameters
$property : mixed
Return values
mixed

addEffect()

Attempts to apply requested effect to this image.

public addEffect(string $type, array<string|int, mixed> $params) : mixed
Parameters
$type : string

The type of effect to apply.

$params : array<string|int, mixed>

Any parameters for the effect.

Return values
mixed

applyEffects()

Applies any effects in the effect queue.

public applyEffects() : mixed
Return values
mixed

arc()

Draws an arc.

public arc(int $x, int $y, int $r, int $start, int $end[, string $color = 'black' ][, string $fill = 'none' ]) : mixed
Parameters
$x : int

The x coordinate of the centre.

$y : int

The y coordinate of the centre.

$r : int

The radius of the arc.

$start : int

The start angle of the arc.

$end : int

The end angle of the arc.

$color : string = 'black'

The line color of the arc.

$fill : string = 'none'

The fill color of the arc (defaults to none).

Return values
mixed

brush()

Draws a shaped point at the specified (x,y) point.

public brush(int $x, int $y[, string $color = 'black' ][, string $shape = 'square' ]) : mixed

Useful for scatter diagrams, debug points, etc. Draws squares, circles, diamonds, and triangles.

Parameters
$x : int

The x coordinate of the point to brush.

$y : int

The y coordinate of the point to brush.

$color : string = 'black'

The color to brush the point with.

$shape : string = 'square'

What brush to use? Defaults to a square.

Return values
mixed

circle()

Draws a circle.

public circle(int $x, int $y, int $r, string $color[, string $fill = 'none' ]) : mixed
Parameters
$x : int

The x coordinate of the centre.

$y : int

The y coordinate of the centre.

$r : int

The radius of the circle.

$color : string

The line color of the circle.

$fill : string = 'none'

The color to fill the circle.

Return values
mixed

clearGeometry()

Utility function to zero out cached geometry information.

public clearGeometry() : mixed

Shouldn't really be called from client code, but is needed since effects may need to clear these.

Return values
mixed

cloneImagickObject()

Wrapper around cloning the imagick resource object.

public cloneImagickObject([Imagick $imagick = null ]) : Imagick
Parameters
$imagick : Imagick = null

A imagick resource object to clone. If empty will clone the imagick object associated with this Horde_Imagice_Imagick object.

Tags
todo

Remove in H6 when we can increase version dependency of Imagick.

since
2.4.0
Return values
Imagick

crop()

Crops the current image.

public crop(int $x1, int $y1, int $x2, int $y2) : mixed
Parameters
$x1 : int

x for the top left corner.

$y1 : int

y for the top left corner.

$x2 : int

x for the bottom right corner.

$y2 : int

y for the bottom right corner.

Return values
mixed

dashedLine()

Draws a dashed line.

public dashedLine(int $x0, int $y0, int $x1, int $y1[, string $color = 'black' ][, string $width = 1 ][, int $dash_length = 2 ][, int $dash_space = 2 ]) : mixed
Parameters
$x0 : int

The x co-ordinate of the start.

$y0 : int

The y co-ordinate of the start.

$x1 : int

The x co-ordinate of the end.

$y1 : int

The y co-ordinate of the end.

$color : string = 'black'

The line color.

$width : string = 1

The width of the line.

$dash_length : int = 2

The length of a dash on the dashed line.

$dash_space : int = 2

The length of a space in the dashed line.

Return values
mixed

display()

Displays the current image.

public display() : mixed
Return values
mixed

flattenImage()

Flatten the provided image and remove transparency.

public flattenImage([string $bgColor = 'white' ]) : mixed
Parameters
$bgColor : string = 'white'

The background color to use.

Return values
mixed

flip()

Flips the current image.

public flip() : mixed
Return values
mixed

frameImage()

Utility function to wrap Imagick::borderImage.

public static frameImage(Imagick &$image, string $color, int $width, int $height) : mixed

Use when you don't want to replace all pixels in the clipping area with the border color i.e. you want to "frame" the existing image. Preserves transparency etc.

Parameters
$image : Imagick

The Imagick object to border.

$color : string

The border color.

$width : int

The image width including the border.

$height : int

The image height including the border.

Tags
todo

Make non-static for H6.

Return values
mixed

getCapabilities()

Returns the capabilities.

public getCapabilities() : array<string|int, mixed>
Return values
array<string|int, mixed>

A list of backend capabilities.

getContentType()

Returns the MIME type for this image.

public getContentType() : string
Return values
string

The MIME type for this image.

getDimensions()

Returns the height and width of the current image data.

public getDimensions() : array<string|int, mixed>
Return values
array<string|int, mixed>

An hash with 'width' containing the width, 'height' containing the height of the image.

getImageAtIndex()

Returns a specific image from the pages of images.

public getImageAtIndex(int $index[, bool $flatten = false ][, string $bgColor = 'white' ]) : Horde_Image_Imagick
Parameters
$index : int

The index to return.

$flatten : bool = false

If true, flatten the returned image using $bgColor as the background color. Useful for PDF files to remove transparency before rendering.

$bgColor : string = 'white'

The background color to use when flattening the image.

Return values
Horde_Image_Imagick

The requested image

getImagePageCount()

Returns the number of image pages available in the image object.

public getImagePageCount() : int
Return values
int

The number of images.

getLoadedEffects()

Returns a list of available effects for this driver.

public getLoadedEffects() : mixed
Return values
mixed

getTmpDir()

Returns the current temporary directory.

public getTmpDir() : string
Return values
string

The current temporary directory.

getType()

Returns the image type.

public getType() : string
Return values
string

The type of this image (png, jpg, etc.).

grayscale()

Converts the current image to grayscale.

public grayscale() : mixed
Return values
mixed

hasCapability()

Checks the existence of a particular capability.

public hasCapability(string $capability) : bool
Parameters
$capability : string

The capability to check for.

Return values
bool

True if the backend has this capability.

headers()

Sends HTTP headers for the image.

public headers() : mixed
Return values
mixed

key()

Returns the index of the internal iterator.

public key() : int
Return values
int

line()

Draws a line.

public line(int $x0, int $y0, int $x1, int $y1[, string $color = 'black' ][, string $width = 1 ]) : mixed
Parameters
$x0 : int

The x coordinate of the start.

$y0 : int

The y coordinate of the start.

$x1 : int

The x coordinate of the end.

$y1 : int

The y coordinate of the end.

$color : string = 'black'

The line color.

$width : string = 1

The width of the line.

Return values
mixed

loadFile()

Loads the image data from a file.

public loadFile(string $filename) : mixed
Parameters
$filename : string

The full path and filename to the file to load the image data from.

Tags
throws
Horde_Image_Exception
Return values
mixed

loadString()

Loads the image data from a string.

public loadString(string $image_data) : mixed
Parameters
$image_data : string

The data to use for the image.

Tags
throws
Horde_Image_Exception
Return values
mixed

mirror()

Mirrors the current image.

public mirror() : mixed
Return values
mixed

polygon()

Draws a polygon based on a set of vertices.

public polygon(mixed $verts, string $color[, string $fill = 'none' ]) : mixed
Parameters
$verts : mixed
$color : string

The color you want to draw the polygon with.

$fill : string = 'none'

The color to fill the polygon.

Return values
mixed

polyline()

Draws a polyline (a non-closed, non-filled polygon) based on a set of vertices.

public polyline(mixed $verts, string $color[, string $width = 1 ]) : mixed
Parameters
$verts : mixed
$color : string

The color you want to draw the line with.

$width : string = 1

The width of the line.

Return values
mixed

raw()

Returns the raw data for this image.

public raw([bool $convert = false ][, array<string|int, mixed> $options = array() ]) : mixed
Parameters
$convert : bool = false

Ignored for Imagick driver.

$options : array<string|int, mixed> = array()

Array of options:

  • stream: If true, return as a stream resource. DEFAULT: false.
Return values
mixed

The raw image data as a string or stream resource.

rectangle()

Draws a rectangle.

public rectangle(int $x, int $y, int $width, int $height, string $color[, string $fill = 'none' ]) : mixed
Parameters
$x : int

The left x-coordinate of the rectangle.

$y : int

The top y-coordinate of the rectangle.

$width : int

The width of the rectangle.

$height : int

The height of the rectangle.

$color : string

The line color of the rectangle.

$fill : string = 'none'

The color to fill the rectangle.

Return values
mixed

reset()

Resets the image data to defaults.

public reset() : mixed
Return values
mixed

resize()

Resizes the current image.

public resize(int $width, int $height[, bool $ratio = true ][, bool $keepProfile = false ]) : mixed
Parameters
$width : int

The new width.

$height : int

The new height.

$ratio : bool = true

Maintain original aspect ratio.

$keepProfile : bool = false

Keep the image meta data.

Return values
mixed

rewind()

Resets the Imagick iterator to the first image in the set.

public rewind() : mixed
Return values
mixed

rotate()

Rotates the current image.

public rotate(int $angle[, string $background = 'white' ]) : mixed
Parameters
$angle : int

The angle to rotate the image by, in the clockwise direction.

$background : string = 'white'

The background color to fill any triangles.

Return values
mixed

roundedRectangle()

Draws a rounded rectangle.

public roundedRectangle(int $x, int $y, int $width, int $height, int $round, string $color, string $fill) : mixed
Parameters
$x : int

The left x-coordinate of the rectangle.

$y : int

The top y-coordinate of the rectangle.

$width : int

The width of the rectangle.

$height : int

The height of the rectangle.

$round : int

The width of the corner rounding.

$color : string

The line color of the rectangle.

$fill : string

The color to fill the rounded rectangle with.

Return values
mixed

sepia()

Applies a sepia filter.

public sepia([int $threshold = 85 ]) : mixed
Parameters
$threshold : int = 85

Extent of sepia effect.

Return values
mixed

setType()

Sets the output image type.

public setType(string $type) : string
Parameters
$type : string

An image type (png, jpg, etc.)

Return values
string

The previous image type.

text()

Draws a text string on the image in a specified location, with the specified style information.

public text(mixed $string, int $x, int $y[, string $font = '' ][, string $color = 'black' ], int $direction[, string $fontsize = 'small' ]) : mixed
Parameters
$string : mixed
$x : int

The left x coordinate of the start of the text string.

$y : int

The top y coordinate of the start of the text string.

$font : string = ''

The font identifier you want to use for the text.

$color : string = 'black'

The color that you want the text displayed in.

$direction : int

An integer that specifies the orientation of the text.

$fontsize : string = 'small'

Size of the font (small, medium, large, giant)

Tags
TODO:

Need to differentiate between the stroke (border) and the fill color, but this is a BC break, since we were just not providing a border.

Return values
mixed

toFile()

Saves image data to file.

public toFile([mixed $data = null ]) : string

If $data is false-ish, saves current image data after performing pending operations on the data. If $data contains raw image data, saves that data to file without regard for the current image data.

Parameters
$data : mixed = null
Tags
throws
Horde_Image_Exception
Return values
string

Path to temporary file.

valid()

Deterimines if the current iterator item is valid.

public valid() : bool
Return values
bool

_logDebug()

Logs a message at debug level.

protected _logDebug(string $message) : mixed
Parameters
$message : string

The log message.

Return values
mixed

_logErr()

Logs a message at error level.

protected _logErr(string $message) : mixed
Parameters
$message : string

The log message.

Return values
mixed

Search results