MediaWiki REL1_34
PNGHandler Class Reference

Handler for PNG images. More...

Inheritance diagram for PNGHandler:
Collaboration diagram for PNGHandler:

Public Member Functions

 canAnimateThumbnail ( $image)
 We do not support making APNG thumbnails, so always false.
 
 formatMetadata ( $image, $context=false)
 
 getCommonMetaArray (File $image)
 Get a file type independent array of metadata.
 
 getLength ( $file)
 Return the duration of an APNG file.
 
 getLongDesc ( $image)
 
 getMetadata ( $image, $filename)
 
 getMetadataType ( $image)
 Get a string describing the type of metadata, for display purposes.
 
 isAnimatedImage ( $image)
 
 isMetadataValid ( $image, $metadata)
 Check if the metadata string is valid for this handler.
 
 supportsBucketing ()
 Returns whether or not this handler supports the chained generation of thumbnails according to buckets.
 
- Public Member Functions inherited from BitmapHandler
 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.
 
 getParamMap ()
 Get an associative array mapping magic word IDs to parameter names.
 
 getScriptedTransform ( $image, $script, $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
 convertMetadataVersion ( $metadata, $version=1)
 Convert metadata version.
 
 filterThumbnailPurgeList (&$files, $options)
 Remove files from the purge list.
 
 formatMetadataHelper ( $metadataArray, $context=false)
 sorts the visible/invisible field.
 
 getAvailableLanguages (File $file)
 Get list of languages file can be viewed in.
 
 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.
 
 getMatchedLanguage ( $userPreferredLanguage, array $availableLanguages)
 When overridden in a descendant class, returns a language code most suiting.
 
 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.
 
 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.
 
 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.
 
 verifyUpload ( $fileName)
 File validation hook called on upload.
 

Public Attributes

const BROKEN_FILE = '0'
 
- 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
 

Additional Inherited Members

- Static Public Member Functions inherited from BitmapHandler
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 inherited from BitmapHandler
 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 ImageHandler
 getScriptParams ( $params)
 
- 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.
 
- 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

Handler for PNG images.

Definition at line 29 of file PNGHandler.php.

Member Function Documentation

◆ canAnimateThumbnail()

PNGHandler::canAnimateThumbnail ( $image)

We do not support making APNG thumbnails, so always false.

Parameters
File$image
Returns
bool False

Reimplemented from MediaHandler.

Definition at line 106 of file PNGHandler.php.

◆ formatMetadata()

PNGHandler::formatMetadata ( $image,
$context = false )
Parameters
File$image
bool | IContextSource$contextContext to use (optional)
Returns
array|bool

Reimplemented from MediaHandler.

Definition at line 55 of file PNGHandler.php.

References $context, MediaHandler\formatMetadataHelper(), and getCommonMetaArray().

◆ getCommonMetaArray()

PNGHandler::getCommonMetaArray ( File $image)

Get a file type independent array of metadata.

Parameters
File$image
Returns
array The metadata array

Reimplemented from MediaHandler.

Definition at line 70 of file PNGHandler.php.

References File\getMetadata(), and unserialize().

Referenced by formatMetadata().

◆ getLength()

PNGHandler::getLength ( $file)

Return the duration of an APNG file.

Shown in the &query=imageinfo&iiprop=size api query.

Parameters
File$file
Returns
float The duration of the file.

Reimplemented from MediaHandler.

Definition at line 185 of file PNGHandler.php.

References $file, and unserialize().

◆ getLongDesc()

PNGHandler::getLongDesc ( $image)
Parameters
File$image
Returns
string

Reimplemented from ImageHandler.

Definition at line 145 of file PNGHandler.php.

References $wgLang, unserialize(), and wfMessage().

◆ getMetadata()

PNGHandler::getMetadata ( $image,
$filename )
Parameters
File | FSFile$image
string$filename
Returns
string

Reimplemented from MediaHandler.

Definition at line 37 of file PNGHandler.php.

References BROKEN_FILE, BitmapMetadataHandler\PNG(), serialize(), and wfDebug().

◆ getMetadataType()

PNGHandler::getMetadataType ( $image)

Get a string describing the type of metadata, for display purposes.

Note
This method is currently unused.
Parameters
File$image
Returns
string

Reimplemented from MediaHandler.

Definition at line 110 of file PNGHandler.php.

◆ isAnimatedImage()

PNGHandler::isAnimatedImage ( $image)
Parameters
File$image
Returns
bool

Reimplemented from MediaHandler.

Definition at line 89 of file PNGHandler.php.

References unserialize().

◆ isMetadataValid()

PNGHandler::isMetadataValid ( $image,
$metadata )

Check if the metadata string is valid for this handler.

If it returns MediaHandler::METADATA_BAD (or false), Image will reload the metadata from the file and update the database. MediaHandler::METADATA_GOOD for if the metadata is a-ok, MediaHandler::METADATA_COMPATIBLE if metadata is old but backwards compatible (which may or may not trigger a metadata reload).

Note
Returning self::METADATA_BAD will trigger a metadata reload from file on page view. Always returning this from a broken file, or suddenly triggering as bad metadata for a large number of files can cause performance problems.
Parameters
File$image
string$metadataThe metadata in serialized form
Returns
bool|int

Reimplemented from MediaHandler.

Definition at line 114 of file PNGHandler.php.

References MediaHandler\METADATA_BAD, MediaHandler\METADATA_COMPATIBLE, MediaHandler\METADATA_GOOD, unserialize(), PNGMetadataExtractor\VERSION, and wfDebug().

◆ supportsBucketing()

PNGHandler::supportsBucketing ( )

Returns whether or not this handler supports the chained generation of thumbnails according to buckets.

Returns
bool
Since
1.24

Reimplemented from MediaHandler.

Definition at line 200 of file PNGHandler.php.

Member Data Documentation

◆ BROKEN_FILE

const PNGHandler::BROKEN_FILE = '0'

Definition at line 30 of file PNGHandler.php.

Referenced by getMetadata().


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