Documentation

Horde_Image_Gd extends Horde_Image_Base
in package

This class implements the Horde_Image API for the PHP GD extension.

Tags
author

Chuck Hagenbuch chuck@horde.org

author

Michael J. Rubinsky mrubinsk@horde.org

author

Jan Schneider jan@horde.org

category

Horde

copyright

2002-2017 Horde LLC

license

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

Table of Contents

$_im  : resource
$_background  : string
Background color.
$_capabilities  : array<string|int, string>
Capabilites of this driver.
$_colors  : array<string|int, int>
Allocated color resources.
$_context  : mixed
Cache the context
$_data  : Horde_Stream
The current image data.
$_height  : int
The current height of the image data.
$_im  : resource
GD image resource for the current image data.
$_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.
__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.
applyMask()  : mixed
Applies the specified mask to the image.
arc()  : mixed
Draws an arc.
brush()  : mixed
Draws a shaped point at the specified (x,y) point.
call()  : mixed
Wraps a call to a function of the gd extension.
circle()  : mixed
Draws a circle.
clearGeometry()  : mixed
Utility function to zero out cached geometry information.
create()  : resource
Creates an image of the given size.
crop()  : mixed
Crops the current image.
dashedLine()  : mixed
Draws a dashed line.
display()  : mixed
Displays the current image.
flip()  : mixed
Flips the current image.
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_Base
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.
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.
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()  : string
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.
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.
yellowize()  : mixed
Applies a yellow filter.
_logDebug()  : mixed
Logs a message at debug level.
_logErr()  : mixed
Logs a message at error level.
_allocateColor()  : int
Creates a color that can be accessed in this object.
_getFont()  : int
Returns the numeric font size a from textual description.

Properties

$_im read-only

public resource $_im

The underlaying image resource.

$_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', 'polygon', 'polyline', 'rectangle', 'resize', 'rotate', 'roundedRectangle', 'sepia', 'text', 'yellowize')

$_colors

Allocated color resources.

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

$_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

$_im

GD image resource for the current image data.

protected resource $_im

$_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

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 —

applyMask()

Applies the specified mask to the image.

public applyMask(resource $mask) : mixed
Parameters
$mask : resource

The gd image resource representing the mask

Return values
mixed —

arc()

Draws an arc.

public arc(int $x, int $y, int $r, int $start, int $end[, string $color = 'black' ][, string $fill = null ]) : 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 = null

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 —

call()

Wraps a call to a function of the gd extension.

public call(string $function[, array<string|int, mixed> $params = null ]) : mixed
Parameters
$function : string

The name of the function to wrap.

$params : array<string|int, mixed> = null

An array with all parameters for that function.

Tags
throws
Horde_Image_Exception
Return values
mixed —

The result of the function call.

circle()

Draws a circle.

public circle(int $x, int $y, int $r, string $color[, string $fill = null ]) : 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 = null

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 —

create()

Creates an image of the given size.

public create(int $width, int $height) : resource

If possible the function returns a true color image.

Parameters
$width : int

The image width.

$height : int

The image height.

Tags
throws
Horde_Image_Exception
Return values
resource —

The image handler.

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 —

flip()

Flips the current image.

public flip() : mixed
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> —

A 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) : Horde_Image_Base
Parameters
$index : int

The index to return.

Return values
Horde_Image_Base —

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 —

line()

Draws a line.

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

The x coordinate of the end.

$y1 : int

The y coordinate of the end.

$x2 : mixed
$y2 : mixed
$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.

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.

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() ]) : string
Parameters
$convert : bool = false

Ignored for Gd driver.

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

Array of options:

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

The raw image data.

rectangle()

Draws a rectangle.

public rectangle(int $x, int $y, int $width, int $height[, string $color = 'black' ][, 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 = 'black'

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 (unused).

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 = 'black' ][, 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.

$round : int

The width of the corner rounding.

$color : string = 'black'

The line color of the rectangle.

$fill : string = 'none'

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)

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.

yellowize()

Applies a yellow filter.

public yellowize([int $intensityY = 50 ][, int $intensityB = 3 ]) : mixed

Adds a layer of yellow that can be transparent or solid. If $intensityY is 255 the image will be 0% transparent (solid).

Parameters
$intensityY : int = 50

How strong should the yellow (red and green) be? (0-255)

$intensityB : int = 3

How weak should the blue be? (>= 2, in the positive limit it will be make BLUE 0)

Return values
mixed —

_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 —

_allocateColor()

Creates a color that can be accessed in this object.

private _allocateColor(string $name, int $alpha) : int

When a color is set, the integer resource of it is returned.

Parameters
$name : string

The name of the color.

$alpha : int

Alpha transparency (0 - 127).

Return values
int —

The resource of the color that can be passed to GD.

_getFont()

Returns the numeric font size a from textual description.

private _getFont(string $font) : int
Parameters
$font : string

A textual size description.

Return values
int —

The font size supported by GD.

Search results