|
MediaWiki
REL1_22
|
Generic handler for bitmap images. More...


Public Member Functions | |
| doTransform ($image, $dstPath, $dstUrl, $params, $flags=0) | |
| escapeMagickInput ($path, $scene=false) | |
| Escape a string for ImageMagick's input filenames. | |
| escapeMagickOutput ($path, $scene=false) | |
| Escape a string for ImageMagick's output filename. | |
| escapeMagickProperty ($s) | |
| Escape a string for ImageMagick's property input (e.g. | |
| extractPreRotationDimensions ($params, $rotation) | |
| Extracts the width/height if the image will be scaled before rotating. | |
| getMediaTransformError ($params, $errMsg) | |
| Get a MediaTransformError with error 'thumbnail_error'. | |
| mustRender ($file) | |
| Rerurns whether the file needs to be rendered. | |
| normaliseParams ($image, &$params) | |
| rotate ($file, $params) | |
Static Public Member Functions | |
| static | canRotate () |
| Returns whether the current scaler supports rotation (im and gd do) | |
| static | imageJpegWrapper ($dst_image, $thumbPath) |
Protected Member Functions | |
| escapeMagickPath ($path, $scene=false) | |
| Armour a string against ImageMagick's GetPathComponent(). | |
| getClientScalingThumbnailImage ($image, $scalerParams) | |
| Get a ThumbnailImage that respresents an image that will be scaled client side. | |
| getMagickVersion () | |
| Retrieve the version of the installed ImageMagick You can use PHPs version_compare() to use this value Value is cached for one hour. | |
| logErrorForExternalProcess ($retval, $err, $cmd) | |
| Log an error that occurred in an external process. | |
| transformCustom ($image, $params) | |
| Transform an image using a custom command. | |
| transformGd ($image, $params) | |
| Transform an image using the built in GD library. | |
| transformImageMagick ($image, $params) | |
| Transform an image using ImageMagick. | |
| transformImageMagickExt ($image, $params) | |
| Transform an image using the Imagick PHP extension. | |
Static Protected Member Functions | |
| static | getScalerType ($dstPath, $checkDstPath=true) |
| Returns which scaler type should be used. | |
Generic handler for bitmap images.
Definition at line 29 of file Bitmap.php.
| static BitmapHandler::canRotate | ( | ) | [static] |
Returns whether the current scaler supports rotation (im and gd do)
Reimplemented from MediaHandler.
Definition at line 712 of file Bitmap.php.
References getScalerType().
Referenced by ResourceLoaderStartUpModule\getConfig(), mustRender(), ExifRotationTest\testMetadata(), and ExifRotationTest\testRotationRendering().
| BitmapHandler::doTransform | ( | $ | image, |
| $ | dstPath, | ||
| $ | dstUrl, | ||
| $ | params, | ||
| $ | flags = 0 |
||
| ) |
| $image | File | |
| $dstPath | ||
| $dstUrl | ||
| $params | ||
| int | $flags |
Reimplemented from MediaHandler.
Reimplemented in BitmapHandler_ClientOnly, and MockBitmapHandler.
Definition at line 110 of file Bitmap.php.
References $flags, $params, array(), as, getClientScalingThumbnailImage(), getScalerType(), normaliseParams(), of, on, page, MediaHandler\removeBadFile(), transformCustom(), transformGd(), transformImageMagick(), transformImageMagickExt(), wfDebug(), wfMkdirParents(), wfRunHooks(), and will.
| BitmapHandler::escapeMagickInput | ( | $ | path, |
| $ | scene = false |
||
| ) |
Escape a string for ImageMagick's input filenames.
See ExpandFilenames() and GetPathComponent() in magick/utility.c.
This won't work with an initial ~ or @, so input files should be prefixed with the directory name.
Glob character unescaping is broken in ImageMagick before 6.6.1-5, but it's broken in a way that doesn't involve trying to convert every file in a directory, so we're better off escaping and waiting for the bugfix to filter down to users.
| string | $path | The file path |
| bool | string | $scene | The scene specification, or false if there is none |
| MWException |
Definition at line 618 of file Bitmap.php.
References $path, and escapeMagickPath().
Referenced by rotate(), and transformImageMagick().
| BitmapHandler::escapeMagickOutput | ( | $ | path, |
| $ | scene = false |
||
| ) |
Escape a string for ImageMagick's output filename.
See InterpretImageFilename() in magick/image.c.
Definition at line 636 of file Bitmap.php.
References $path, and escapeMagickPath().
Referenced by rotate(), and transformImageMagick().
| BitmapHandler::escapeMagickPath | ( | $ | path, |
| $ | scene = false |
||
| ) | [protected] |
Armour a string against ImageMagick's GetPathComponent().
This is a helper function for escapeMagickInput() and escapeMagickOutput().
| string | $path | The file path |
| bool | string | $scene | The scene specification, or false if there is none |
| MWException |
Definition at line 650 of file Bitmap.php.
References $path, and wfIsWindows().
Referenced by escapeMagickInput(), and escapeMagickOutput().
Escape a string for ImageMagick's property input (e.g.
-set -comment) See InterpretImageProperties() in magick/property.c
Definition at line 589 of file Bitmap.php.
References $s.
Referenced by transformImageMagick().
| BitmapHandler::extractPreRotationDimensions | ( | $ | params, |
| $ | rotation | ||
| ) |
Extracts the width/height if the image will be scaled before rotating.
This will match the physical size/aspect ratio of the original image prior to application of the rotation -- so for a portrait image that's stored as raw landscape with 90-degress rotation, the resulting size will be wider than it is tall.
| array | $params | Parameters as returned by normaliseParams |
| int | $rotation | The rotation angle that will be applied |
Definition at line 90 of file Bitmap.php.
References $params, and array().
Referenced by transformGd(), transformImageMagick(), and transformImageMagickExt().
| BitmapHandler::getClientScalingThumbnailImage | ( | $ | image, |
| $ | scalerParams | ||
| ) | [protected] |
Get a ThumbnailImage that respresents an image that will be scaled client side.
| $image | File File associated with this thumbnail | |
| array | $scalerParams | Array with scaler params |
Definition at line 258 of file Bitmap.php.
References $params, and array().
Referenced by MockBitmapHandler\doClientImage(), and doTransform().
| BitmapHandler::getMagickVersion | ( | ) | [protected] |
Retrieve the version of the installed ImageMagick You can use PHPs version_compare() to use this value Value is cached for one hour.
Definition at line 680 of file Bitmap.php.
References $cache, $matches, $retval, $wgMemc, global, wfDebug(), wfEscapeShellArg(), and wfShellExec().
Referenced by transformImageMagick().
| BitmapHandler::getMediaTransformError | ( | $ | params, |
| $ | errMsg | ||
| ) |
Get a MediaTransformError with error 'thumbnail_error'.
| array | $params | Parameter array as passed to the transform* functions |
| string | $errMsg | Error message |
Definition at line 495 of file Bitmap.php.
References $params.
Referenced by transformCustom(), transformGd(), transformImageMagick(), and transformImageMagickExt().
| static BitmapHandler::getScalerType | ( | $ | dstPath, |
| $ | checkDstPath = true |
||
| ) | [static, protected] |
Returns which scaler type should be used.
Creates parent directories for $dstPath and returns 'client' on error
Reimplemented in XCFHandler.
Definition at line 226 of file Bitmap.php.
References global.
Referenced by canRotate(), doTransform(), normaliseParams(), and rotate().
| static BitmapHandler::imageJpegWrapper | ( | $ | dst_image, |
| $ | thumbPath | ||
| ) | [static] |
Definition at line 701 of file Bitmap.php.
| BitmapHandler::logErrorForExternalProcess | ( | $ | retval, |
| $ | err, | ||
| $ | cmd | ||
| ) | [protected] |
Log an error that occurred in an external process.
| $retval | int |
| $err | int |
| $cmd | string |
Definition at line 483 of file Bitmap.php.
References $retval, wfDebugLog(), and wfHostname().
Referenced by JpegHandler\rotate(), rotate(), transformCustom(), and transformImageMagick().
| BitmapHandler::mustRender | ( | $ | file | ) |
Rerurns whether the file needs to be rendered.
Returns true if the file requires rotation and we are able to rotate it.
| $file | File |
Reimplemented from MediaHandler.
Reimplemented in TiffHandler, XCFHandler, and BmpHandler.
Definition at line 787 of file Bitmap.php.
References $file, canRotate(), and MediaHandler\getRotation().
| BitmapHandler::normaliseParams | ( | $ | image, |
| &$ | params | ||
| ) |
| $image | File | |
| array | $params | Transform parameters. Entries with the keys 'width' and 'height' are the respective screen width and height, while the keys 'physicalWidth' and 'physicalHeight' indicate the thumbnail dimensions. |
Reimplemented from ImageHandler.
Reimplemented in BitmapHandler_ClientOnly.
Definition at line 37 of file Bitmap.php.
References $params, array(), getScalerType(), global, and wfRunHooks().
Referenced by doTransform(), and BitmapScalingTest\testNormaliseParams().
| BitmapHandler::rotate | ( | $ | file, |
| $ | params | ||
| ) |
| $file | File | |
| array | $params | Rotate parameters. 'rotation' clockwise rotation in degrees, allowed are multiples of 90 |
Reimplemented in JpegHandler.
Definition at line 738 of file Bitmap.php.
References $file, $params, $result, $retval, escapeMagickInput(), escapeMagickOutput(), MediaHandler\getRotation(), getScalerType(), global, logErrorForExternalProcess(), wfDebug(), wfEscapeShellArg(), wfProfileIn(), wfProfileOut(), and wfShellExecWithStderr().
| BitmapHandler::transformCustom | ( | $ | image, |
| $ | params | ||
| ) | [protected] |
Transform an image using a custom command.
Definition at line 452 of file Bitmap.php.
References $params, $retval, getMediaTransformError(), global, logErrorForExternalProcess(), wfDebug(), wfEscapeShellArg(), wfProfileIn(), wfProfileOut(), and wfShellExecWithStderr().
Referenced by doTransform().
| BitmapHandler::transformGd | ( | $ | image, |
| $ | params | ||
| ) | [protected] |
Transform an image using the built in GD library.
Definition at line 508 of file Bitmap.php.
References $params, array(), extractPreRotationDimensions(), getMediaTransformError(), MediaHandler\getRotation(), list, wfDebug(), and wfMessage().
Referenced by doTransform().
| BitmapHandler::transformImageMagick | ( | $ | image, |
| $ | params | ||
| ) | [protected] |
Transform an image using ImageMagick.
Definition at line 274 of file Bitmap.php.
References $params, $retval, array(), escapeMagickInput(), escapeMagickOutput(), escapeMagickProperty(), extractPreRotationDimensions(), ImageHandler\getImageArea(), getMagickVersion(), getMediaTransformError(), MediaHandler\getRotation(), global, MediaHandler\isAnimatedImage(), list, logErrorForExternalProcess(), wfDebug(), wfProfileIn(), wfProfileOut(), and wfShellExecWithStderr().
Referenced by doTransform().
| BitmapHandler::transformImageMagickExt | ( | $ | image, |
| $ | params | ||
| ) | [protected] |
Transform an image using the Imagick PHP extension.
Definition at line 375 of file Bitmap.php.
References $params, $result, as, extractPreRotationDimensions(), ImageHandler\getImageArea(), getMediaTransformError(), MediaHandler\getRotation(), global, MediaHandler\isAnimatedImage(), list, and wfDebug().
Referenced by doTransform().