WP_Image_Editor_Imagick::test( array $args = array() ): bool

In this article

Checks to see if current environment supports Imagick.

Description

We require Imagick 2.2.0 or greater, based on whether the queryFormats() method can be called statically.

Parameters

$argsarrayoptional

Default:array()

Return

bool

Source

public static function test( $args = array() ) {

	// First, test Imagick's extension and classes.
	if ( ! extension_loaded( 'imagick' ) || ! class_exists( 'Imagick', false ) || ! class_exists( 'ImagickPixel', false ) ) {
		return false;
	}

	if ( version_compare( phpversion( 'imagick' ), '2.2.0', '<' ) ) {
		return false;
	}

	$required_methods = array(
		'clear',
		'destroy',
		'valid',
		'getimage',
		'writeimage',
		'getimageblob',
		'getimagegeometry',
		'getimageformat',
		'setimageformat',
		'setimagecompression',
		'setimagecompressionquality',
		'setimagepage',
		'setoption',
		'scaleimage',
		'cropimage',
		'rotateimage',
		'flipimage',
		'flopimage',
		'readimage',
		'readimageblob',
	);

	// Now, test for deep requirements within Imagick.
	if ( ! defined( 'imagick::COMPRESSION_JPEG' ) ) {
		return false;
	}

	$class_methods = array_map( 'strtolower', get_class_methods( 'Imagick' ) );
	if ( array_diff( $required_methods, $class_methods ) ) {
		return false;
	}

	return true;
}

Changelog

VersionDescription
3.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.