MediaWiki REL1_28
|
Stuff specific to JPEG and (built-in) TIFF handler. More...
Public Member Functions | |
convertMetadataVersion ( $metadata, $version=1) | |
Convert metadata version. | |
formatMetadata ( $image, $context=false) | |
getCommonMetaArray (File $file) | |
Get an array of standard (FormatMetadata type) metadata values. | |
getImageSize ( $image, $path) | |
Wrapper for base classes ImageHandler::getImageSize() that checks for rotation reported from metadata and swaps the sizes to match. | |
getMetadataType ( $image) | |
Get a string describing the type of metadata, for display purposes. | |
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. | |
isMetadataValid ( $image, $metadata) | |
swapICCProfile ( $filepath, $oldProfileString, $profileFilepath) | |
Swaps an embedded ICC profile for another, if found. | |
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. | |
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. | |
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. | |
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. | |
getMetadata ( $image, $path) | |
Get handler-specific metadata which will be saved in the img_metadata field. | |
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. | |
getStreamHeaders ( $metadata) | |
Get useful response headers for GET/HEAD requests for a file with the given metadata. | |
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. | |
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. | |
Public Attributes | |
const | BROKEN_FILE = '-1' |
const | OLD_BROKEN_FILE = '0' |
const | SRGB_ICC_PROFILE_NAME = 'IEC 61966-2.1 Default RGB colour space - sRGB' |
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 |
Protected Member Functions | |
getRotationForExif ( $data) | |
Given a chunk of serialized Exif metadata, return the orientation as degrees of rotation. | |
transformImageMagick ( $image, $params) | |
Transform an image using ImageMagick. | |
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. | |
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 | |
Static Public Member Functions inherited from BitmapHandler | |
static | imageJpegWrapper ( $dst_image, $thumbPath, $quality=95) |
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 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. | |
Stuff specific to JPEG and (built-in) TIFF handler.
All metadata related, since both JPEG and TIFF support Exif.
Definition at line 30 of file ExifBitmap.php.
ExifBitmapHandler::convertMetadataVersion | ( | $metadata, | |
$version = 1 |
|||
) |
Convert metadata version.
By default just returns $metadata, but can be used to allow media handlers to convert between metadata versions.
string | array | $metadata | Metadata array (serialized if string) |
int | $version | Target version |
Reimplemented from MediaHandler.
Definition at line 35 of file ExifBitmap.php.
References as, FormatMetadata\collapseContactInfo(), and unserialize().
ExifBitmapHandler::formatMetadata | ( | $image, | |
$context = false |
|||
) |
File | $image | |
bool | IContextSource | $context | Context to use (optional) |
Reimplemented from MediaHandler.
Definition at line 131 of file ExifBitmap.php.
References $context, $image, MediaHandler\formatMetadataHelper(), and getCommonMetaArray().
ExifBitmapHandler::getCommonMetaArray | ( | File | $file | ) |
Get an array of standard (FormatMetadata type) metadata values.
The returned data is largely the same as that from getMetadata(), but formatted in a standard, stable, handler-independent way. The idea being that some values like ImageDescription or Artist are universal and should be retrievable in a handler generic way.
The specific properties are the type of properties that can be handled by the FormatMetadata class. These values are exposed to the user via the filemetadata parser function.
Details of the response format of this function can be found at https://www.mediawiki.org/wiki/Manual:File_metadata_handling tl/dr: the response is an associative array of properties keyed by name, but the value can be complex. You probably want to call one of the FormatMetadata::flatten* functions on the property values before using them, or call FormatMetadata::getFormattedData() on the full response array, which transforms all values into prettified, human-readable text.
Subclasses overriding this function must return a value which is a valid API response fragment (all associative array keys are valid XML tagnames).
Note, if the file simply has no metadata, but the handler supports this interface, it should return an empty array, not false.
File | $file |
Reimplemented from MediaHandler.
Definition at line 140 of file ExifBitmap.php.
References File\getMetadata(), isMetadataValid(), and unserialize().
Referenced by formatMetadata().
ExifBitmapHandler::getImageSize | ( | $image, | |
$path | |||
) |
Wrapper for base classes ImageHandler::getImageSize() that checks for rotation reported from metadata and swaps the sizes to match.
Reimplemented from ImageHandler.
Definition at line 172 of file ExifBitmap.php.
References $image, $path, BitmapHandler\autoRotateEnabled(), MediaHandler\getMetadata(), and getRotationForExif().
ExifBitmapHandler::getMetadataType | ( | $image | ) |
Get a string describing the type of metadata, for display purposes.
File | $image |
Reimplemented from MediaHandler.
Definition at line 160 of file ExifBitmap.php.
ExifBitmapHandler::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.
This information is only useful when manipulating the original file; the width and height we normally work with is logical, and will match any produced output views.
File | $file |
Reimplemented from MediaHandler.
Definition at line 205 of file ExifBitmap.php.
References BitmapHandler\autoRotateEnabled(), and getRotationForExif().
Referenced by JpegHandler\rotate().
|
protected |
Given a chunk of serialized Exif metadata, return the orientation as degrees of rotation.
string | $data |
Definition at line 223 of file ExifBitmap.php.
References unserialize().
Referenced by getImageSize(), and getRotation().
ExifBitmapHandler::isMetadataValid | ( | $image, | |
$metadata | |||
) |
File | $image | |
array | $metadata |
Reimplemented from MediaHandler.
Definition at line 87 of file ExifBitmap.php.
References $wgShowEXIF, global, MediaHandler\METADATA_BAD, MediaHandler\METADATA_COMPATIBLE, MediaHandler\METADATA_GOOD, unserialize(), Exif\version(), and wfDebug().
Referenced by getCommonMetaArray().
ExifBitmapHandler::swapICCProfile | ( | $filepath, | |
$oldProfileString, | |||
$profileFilepath | |||
) |
Swaps an embedded ICC profile for another, if found.
Depends on exiftool, no-op if not installed.
string | $filepath | File to be manipulated (will be overwritten) |
string | $oldProfileString | Exact name of color profile to look for (the one that will be replaced) |
string | $profileFilepath | ICC profile file to apply to the file |
Definition at line 280 of file ExifBitmap.php.
References $output, $retval, $wgExiftool, global, MediaHandler\logErrorForExternalProcess(), wfEscapeShellArg(), and wfShellExecWithStderr().
Referenced by transformImageMagick().
|
protected |
Transform an image using ImageMagick.
Reimplemented from BitmapHandler.
Definition at line 247 of file ExifBitmap.php.
References $image, $params, $ret, $wgUseTinyRGBForJPGThumbnails, global, and swapICCProfile().
const ExifBitmapHandler::BROKEN_FILE = '-1' |
Definition at line 31 of file ExifBitmap.php.
Referenced by JpegHandler\getMetadata(), TiffHandler\getMetadata(), JpegTest\testInvalidFile(), TiffTest\testInvalidFile(), and ExifBitmapTest\testIsBrokenFile().
const ExifBitmapHandler::OLD_BROKEN_FILE = '0' |
Definition at line 32 of file ExifBitmap.php.
Referenced by ExifBitmapTest\testIsOldBroken().
const ExifBitmapHandler::SRGB_ICC_PROFILE_NAME = 'IEC 61966-2.1 Default RGB colour space - sRGB' |
Definition at line 33 of file ExifBitmap.php.