Horde_Image_Gd
extends Horde_Image_Base
in package
This class implements the Horde_Image API for the PHP GD extension.
Tags
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
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
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
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
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.