MediaWiki REL1_32
BitmapHandler Class Reference

Generic handler for bitmap images. More...

Inheritance diagram for BitmapHandler:
Collaboration diagram for BitmapHandler:

Public Member Functions

 autoRotateEnabled ()
 
 canRotate ()
 Returns whether the current scaler supports rotation (im and gd do)
 
 makeParamString ( $params)
 Merge a parameter array into a string appropriate for inclusion in filenames.
 
 normaliseParams ( $image, &$params)
 
 parseParamString ( $str)
 Parse a param string made with makeParamString back into an array.
 
 rotate ( $file, $params)
 
 validateParam ( $name, $value)
 Validate a thumbnail parameter at parse time.
 
- Public Member Functions inherited from TransformationalImageHandler
 doTransform ( $image, $dstPath, $dstUrl, $params, $flags=0)
 Create a thumbnail.
 
 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'.
 
 isImageAreaOkForThumbnaling ( $file, &$params)
 Check if the file is smaller than the maximum image area for thumbnailing.
 
 mustRender ( $file)
 Returns whether the file needs to be rendered.
 
- Public Member Functions inherited from ImageHandler
 canRender ( $file)
 
 getDimensionsString ( $file)
 
 getImageArea ( $image)
 Function that returns the number of pixels to be thumbnailed.
 
 getImageSize ( $image, $path)
 Get an image size array like that returned by getimagesize(), or false if it can't be determined.
 
 getLongDesc ( $file)
 
 getParamMap ()
 Get an associative array mapping magic word IDs to parameter names.
 
 getScriptedTransform ( $image, $script, $params)
 
 getScriptParams ( $params)
 
 getShortDesc ( $file)
 
 sanitizeParamsForBucketing ( $params)
 Returns a normalised params array for which parameters have been cleaned up for bucketing purposes.
 
 validateThumbParams (&$width, &$height, $srcWidth, $srcHeight, $mimeType)
 Validate thumbnail parameters and fill in the correct height.
 
- Public Member Functions inherited from MediaHandler
 canAnimateThumbnail ( $file)
 If the material is animated, we can animate the thumbnail.
 
 convertMetadataVersion ( $metadata, $version=1)
 Convert metadata version.
 
 filterThumbnailPurgeList (&$files, $options)
 Remove files from the purge list.
 
 formatMetadata ( $image, $context=false)
 Get an array structure that looks like this:
 
 formatMetadataHelper ( $metadataArray, $context=false)
 sorts the visible/invisible field.
 
 getAvailableLanguages (File $file)
 Get list of languages file can be viewed in.
 
 getCommonMetaArray (File $file)
 Get an array of standard (FormatMetadata type) metadata values.
 
 getContentHeaders ( $metadata)
 Get useful response headers for GET/HEAD requests for a file with the given metadata.
 
 getDefaultRenderLanguage (File $file)
 On file types that support renderings in multiple languages, which language is used by default if unspecified.
 
 getEntireText (File $file)
 Get the text of the entire document.
 
 getLength ( $file)
 If its an audio file, return the length of the file.
 
 getMatchedLanguage ( $userPreferredLanguage, array $availableLanguages)
 When overridden in a descendant class, returns a language code most suiting.
 
 getMetadata ( $image, $path)
 Get handler-specific metadata which will be saved in the img_metadata field.
 
 getMetadataType ( $image)
 Get a string describing the type of metadata, for display purposes.
 
 getPageDimensions (File $image, $page)
 Get an associative array of page dimensions Currently "width" and "height" are understood, but this might be expanded in the future.
 
 getPageText (File $image, $page)
 Generic getter for text layer.
 
 getRotation ( $file)
 On supporting image formats, try to read out the low-level orientation of the file and return the angle that the file needs to be rotated to be viewed.
 
 getThumbType ( $ext, $mime, $params=null)
 Get the thumbnail extension and MIME type for a given source MIME type.
 
 getTransform ( $image, $dstPath, $dstUrl, $params)
 Get a MediaTransformOutput object representing the transformed output.
 
 getWarningConfig ( $file)
 Gets configuration for the file warning message.
 
 isAnimatedImage ( $file)
 The material is an image, and is animated.
 
 isEnabled ()
 False if the handler is disabled for all files.
 
 isExpensiveToThumbnail ( $file)
 True if creating thumbnails from the file is large or otherwise resource-intensive.
 
 isMetadataValid ( $image, $metadata)
 Check if the metadata string is valid for this handler.
 
 isMultiPage ( $file)
 True if the type has multi-page capabilities.
 
 isVectorized ( $file)
 The material is vectorized and thus scaling is lossless.
 
 pageCount (File $file)
 Page count for a multi-page document, false if unsupported or unknown.
 
 parserTransformHook ( $parser, $file)
 Modify the parser object post-transform.
 
 removeBadFile ( $dstPath, $retval=0)
 Check for zero-sized thumbnails.
 
 supportsBucketing ()
 Returns whether or not this handler supports the chained generation of thumbnails according to buckets.
 
 verifyUpload ( $fileName)
 File validation hook called on upload.
 

Static Public Member Functions

static imageJpegWrapper ( $dst_image, $thumbPath, $quality=null)
 Callback for transformGd when transforming jpeg images.
 
- Static Public Member Functions inherited from MediaHandler
static fitBoxWidth ( $boxWidth, $boxHeight, $maxHeight)
 Calculate the largest thumbnail width for a given original file size such that the thumbnail's height is at most $maxHeight.
 
static getGeneralLongDesc ( $file)
 Used instead of getLongDesc if there is no handler registered for file.
 
static getGeneralShortDesc ( $file)
 Used instead of getShortDesc if there is no handler registered for file.
 
static getHandler ( $type)
 Get a MediaHandler for a given MIME type from the instance cache.
 
static getMetadataVersion ()
 Get metadata version.
 
static getPageRangesByDimensions ( $pagesByDimensions)
 Converts a dimensions array about a potentially multipage document from an exhaustive list of ordered page numbers to a list of page ranges.
 

Protected Member Functions

 getScalerType ( $dstPath, $checkDstPath=true)
 Returns which scaler type should be used.
 
 imageMagickSubsampling ( $pixelFormat)
 Get ImageMagick subsampling factors for the target JPEG pixel format.
 
 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.
 
- Protected Member Functions inherited from TransformationalImageHandler
 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.
 
 getThumbnailSource ( $file, $params)
 Get the source file for the transform.
 
- Protected Member Functions inherited from MediaHandler
 logErrorForExternalProcess ( $retval, $err, $cmd)
 Log an error that occurred in an external process.
 
 visibleMetadataFields ()
 Get a list of metadata items which should be displayed when the metadata table is collapsed.
 

Additional Inherited Members

- Public Attributes inherited from MediaHandler
const MAX_ERR_LOG_SIZE = 65535
 Max length of error logged by logErrorForExternalProcess()
 
const METADATA_BAD = false
 
const METADATA_COMPATIBLE = 2
 
const METADATA_GOOD = true
 
const TRANSFORM_LATER = 1
 
- Static Protected Member Functions inherited from MediaHandler
static addMeta (&$array, $visibility, $type, $id, $value, $param=false)
 This is used to generate an array element for each metadata value That array is then used to generate the table of metadata values on the image page.
 

Detailed Description

Generic handler for bitmap images.

Definition at line 29 of file BitmapHandler.php.

Member Function Documentation

◆ autoRotateEnabled()

BitmapHandler::autoRotateEnabled ( )
See also
$wgEnableAutoRotation
Returns
bool Whether auto rotation is enabled

Reimplemented from TransformationalImageHandler.

Definition at line 547 of file BitmapHandler.php.

References $wgEnableAutoRotation, and canRotate().

Referenced by ExifBitmapHandler\getImageSize(), and ExifBitmapHandler\getRotation().

◆ canRotate()

BitmapHandler::canRotate ( )

Returns whether the current scaler supports rotation (im and gd do)

Returns
bool

Reimplemented from TransformationalImageHandler.

Definition at line 524 of file BitmapHandler.php.

References getScalerType().

Referenced by autoRotateEnabled().

◆ getScalerType()

BitmapHandler::getScalerType (   $dstPath,
  $checkDstPath = true 
)
protected

Returns which scaler type should be used.

Creates parent directories for $dstPath and returns 'client' on error

Parameters
string$dstPath
bool$checkDstPath
Returns
string|Callable One of client, im, custom, gd, imext or an array( object, method )

Reimplemented from TransformationalImageHandler.

Reimplemented in WebPHandler, and XCFHandler.

Definition at line 39 of file BitmapHandler.php.

References $wgCustomConvertCommand, $wgUseImageMagick, and $wgUseImageResize.

Referenced by canRotate(), and rotate().

◆ imageJpegWrapper()

static BitmapHandler::imageJpegWrapper (   $dst_image,
  $thumbPath,
  $quality = null 
)
static

Callback for transformGd when transforming jpeg images.

Parameters
resource$dst_imageImage resource of the original image
string$thumbPathFile path to write the thumbnail image to
int | null$qualityQuality of the thumbnail from 1-100, or null to use default quality.

Definition at line 508 of file BitmapHandler.php.

References $wgJpegQuality.

◆ imageMagickSubsampling()

BitmapHandler::imageMagickSubsampling (   $pixelFormat)
protected

Get ImageMagick subsampling factors for the target JPEG pixel format.

Parameters
string$pixelFormatone of 'yuv444', 'yuv422', 'yuv420'
Returns
array of string keys

Definition at line 113 of file BitmapHandler.php.

Referenced by transformImageMagick(), and transformImageMagickExt().

◆ makeParamString()

BitmapHandler::makeParamString (   $params)

Merge a parameter array into a string appropriate for inclusion in filenames.

Parameters
array$paramsArray of parameters that have been through normaliseParams.
Returns
string

Reimplemented from ImageHandler.

Reimplemented in JpegHandler.

Definition at line 62 of file BitmapHandler.php.

References $params, and $res.

◆ normaliseParams()

BitmapHandler::normaliseParams (   $image,
$params 
)
Parameters
File$image
array&$params
Returns
bool

Reimplemented from TransformationalImageHandler.

Reimplemented in BitmapHandler_ClientOnly, and JpegHandler.

Definition at line 94 of file BitmapHandler.php.

References $image, $params, $wgMaxInterlacingAreas, and ImageHandler\getImageArea().

Referenced by BitmapScalingTest\testNormaliseParams().

◆ parseParamString()

BitmapHandler::parseParamString (   $str)

Parse a param string made with makeParamString back into an array.

Parameters
string$strThe parameter string without file name (e.g. 122px)
Returns
array|bool Array of parameters or false on failure.

Reimplemented from ImageHandler.

Reimplemented in JpegHandler.

Definition at line 71 of file BitmapHandler.php.

References $params.

◆ rotate()

BitmapHandler::rotate (   $file,
  $params 
)
Parameters
File$file
array$paramsRotate parameters. 'rotation' clockwise rotation in degrees, allowed are multiples of 90
Since
1.21
Returns
bool|MediaTransformError

Reimplemented from TransformationalImageHandler.

Reimplemented in JpegHandler.

Definition at line 565 of file BitmapHandler.php.

References $params, $retval, $wgImageMagickConvertCommand, TransformationalImageHandler\escapeMagickInput(), TransformationalImageHandler\escapeMagickOutput(), MediaHandler\getRotation(), getScalerType(), MediaHandler\logErrorForExternalProcess(), wfDebug(), wfEscapeShellArg(), and wfShellExecWithStderr().

◆ transformCustom()

BitmapHandler::transformCustom (   $image,
  $params 
)
protected

Transform an image using a custom command.

Parameters
File$imageFile associated with this thumbnail
array$paramsArray with scaler params
Returns
MediaTransformError Error|bool object if error occurred, false (=no error) otherwise

Reimplemented from TransformationalImageHandler.

Definition at line 373 of file BitmapHandler.php.

References $params, $retval, $wgCustomConvertCommand, error, TransformationalImageHandler\getMediaTransformError(), MediaHandler\logErrorForExternalProcess(), wfDebug(), wfEscapeShellArg(), and wfShellExecWithStderr().

◆ transformGd()

BitmapHandler::transformGd (   $image,
  $params 
)
protected

Transform an image using the built in GD library.

Parameters
File$imageFile associated with this thumbnail
array$paramsArray with scaler params
Returns
MediaTransformError|bool Error object if error occurred, false (=no error) otherwise

Reimplemented from TransformationalImageHandler.

Definition at line 405 of file BitmapHandler.php.

References $image, $params, error, TransformationalImageHandler\extractPreRotationDimensions(), TransformationalImageHandler\getMediaTransformError(), MediaHandler\getRotation(), list, wfDebug(), and wfMessage().

◆ transformImageMagick()

◆ transformImageMagickExt()

BitmapHandler::transformImageMagickExt (   $image,
  $params 
)
protected

Transform an image using the Imagick PHP extension.

Parameters
File$imageFile associated with this thumbnail
array$paramsArray with scaler params
Returns
MediaTransformError Error|bool object if error occurred, false (=no error) otherwise

Reimplemented from TransformationalImageHandler.

Definition at line 278 of file BitmapHandler.php.

References $e, $image, $params, $wgJpegPixelFormat, $wgJpegQuality, $wgMaxAnimatedGifArea, $wgSharpenParameter, $wgSharpenReductionThreshold, as, TransformationalImageHandler\extractPreRotationDimensions(), ImageHandler\getImageArea(), TransformationalImageHandler\getMediaTransformError(), MediaHandler\getRotation(), imageMagickSubsampling(), MediaHandler\isAnimatedImage(), list, string, and wfDebug().

◆ validateParam()

BitmapHandler::validateParam (   $name,
  $value 
)

Validate a thumbnail parameter at parse time.

Return true to accept the parameter, and false to reject it. If you return false, the parser will do something quiet and forgiving.

Parameters
string$name
mixed$value

Reimplemented from ImageHandler.

Reimplemented in JpegHandler.

Definition at line 81 of file BitmapHandler.php.

References $name, and $value.


The documentation for this class was generated from the following file: