Preparation issue for ImageMagick release 8.x-2.3
todo:
add empty update function to clear caches to discover the changes to the 'imagemagick.exec_manager' servicedeprecateImagemagickToolkit::EXIF_ORIENTATION_NOT_FETCHEDsummarize release notes
Release notes - draft
This release of the ImageMagick module introduces the functionality to retrieve images' colorspace and embedded profiles while parsing the image (only if the ImageMagick package is installed, the GraphicsMagick does not support that). Also, provides a more structured way to specify if command line arguments are to be added before or after the source image loading (and to specify internal use arguments).
As of this release, parsing image files via PHP getimagesize function is deprecated - it simply can not cope with all the data that can be fetched with the default parsing via the identify command. While this still works in this release, this functionality will be dropped in the next major release.
Finally, a lot of methods (see below) have been deprecated and will be removed in the next major.
NOTE: please ensure to run the database updates after updating to this release.
More details:
- Deprecated using the PHP
getimagesizefunction to parse image files. - When using ImageMagick as the graphics package:
- the toolkit now retrieves the image's colorspace when parsing the image file. Use
$image->getToolkit()->getColorspace()to access the information from code. - the toolkit now retrieves the image's embedded profiles when parsing the image file. Use
$image->getToolkit()->getProfiles()to access the information from code. - it's now possible to specify command line arguments to be placed before loading the source image file when executing the
convertcommand. This is useful to provide ImageMagick settings that have to be considered before loading the image. For example, it may be needed to provide a-densityoption before loading a vector image to specify how ImageMagick should render it internally in memory. Use$image->getToolkit()->arguments()->add($argument, ImagemagickExecArguments::PRE_SOURCE). - Some string changes.
- Only PRE_SOURCE arguments will be passed to
identifyas of the next major release. If you are specifying arguments in the 'Prepend arguments' textbox in the Image Tollkit setup UI, make sure you tick the 'Before source' box in the form, otherwise they will not be added as of next major release. - Arguments added via the new
ImagemagickExecArguments::add()can store additional context information. TheImagemagickImageToolkitOperationBase::addArgument()method is adding information about the Image Toolkit operation and plugin id, that can be used by theImagemagickExecArguments::find()method to target arguments added by a specific operation.
Newly added methods:
- ImagemagickExecArguments::escape()
- ImagemagickExecArguments::find()
- ImagemagickExecArguments::remove()
- ImagemagickExecArguments::reset()
- ImagemagickExecArguments::setSourceFormatFromExtension()
- ImagemagickExecArguments::setDestinationFormatFromExtension()
- ImagemagickExecArguments::toString()
- ImagemagickExecManager::getFormatMapper()
- ImagemagickExecManager::getModuleHandler()
- ImagemagickToolkit::arguments()
- ImagemagickToolkit::ensureSourceLocalPath()
- ImagemagickToolkit::getColorspace()
- ImagemagickToolkit::getExecManager()
- ImagemagickToolkit::getProfiles()
- ImagemagickToolkit::setColorspace()
- ImagemagickToolkit::setProfiles()
- ImagemagickImageToolkitOperationBase::addArgument()
- ImagemagickImageToolkitOperationBase::escapeArgument()
Deprecated methods/constants:
- ImagemagickExecArguments::INTERNAL_ARGUMENT_IDENTIFIER
- ImagemagickExecArguments::addArgument()
- ImagemagickExecArguments::countArguments()
- ImagemagickExecArguments::escapeShellArg()
- ImagemagickExecArguments::findArgument()
- ImagemagickExecArguments::getArguments()
- ImagemagickExecArguments::getStringForBinary()
- ImagemagickExecArguments::prependArgument()
- ImagemagickExecArguments::removeArgument()
- ImagemagickExecArguments::resetArguments()
- ImagemagickToolkit::EXIF_ORIENTATION_NOT_FETCHED
- ImagemagickToolkit::addArgument()
- ImagemagickToolkit::checkPath()
- ImagemagickToolkit::countArguments()
- ImagemagickToolkit::escapeShellArg()
- ImagemagickToolkit::findArgument()
- ImagemagickToolkit::getArguments()
- ImagemagickToolkit::getDestination()
- ImagemagickToolkit::getDestinationFormat()
- ImagemagickToolkit::getDestinationLocalPath()
- ImagemagickToolkit::getPackage()
- ImagemagickToolkit::getPackageLabel()
- ImagemagickToolkit::getSourceFormat()
- ImagemagickToolkit::getSourceLocalPath()
- ImagemagickToolkit::getStringForBinary()
- ImagemagickToolkit::prependArgument()
- ImagemagickToolkit::removeArgument()
- ImagemagickToolkit::resetArguments()
- ImagemagickToolkit::setDestination()
- ImagemagickToolkit::setDestinationFormat()
- ImagemagickToolkit::setDestinationFormatFromExtension()
- ImagemagickToolkit::setDestinationLocalPath()
- ImagemagickToolkit::setSourceFormat()
- ImagemagickToolkit::setSourceFormatFromExtension()
- ImagemagickToolkit::setSourceLocalPath()
Additionally, marking an argument 'internal' via prefixing it with ImagemagickExecArguments::INTERNAL_ARGUMENT_IDENTIFIER is deprecated.
| Comment | File | Size | Author |
|---|---|---|---|
| #6 | 2941093-6.patch | 987 bytes | mondrake |
Comments
Comment #2
mondrakeComment #3
mondrakeComment #4
mondrakeComment #5
mondrakeComment #6
mondrakeComment #8
mondrakeComment #9
mondrakeReleased 8.x-2.3