Skip to content
Snippets Groups Projects
Select Git revision
  • 378e5f1b3c9f6a4e10154204928f01ae07a787ca
  • master default
  • registry-mirror
  • nginx-default-site
  • acmeserver2
  • clickhouse
  • improve-dns-toplevel-probes
  • tabacco-in-container
  • rsyslog-modern-json
  • improve-service-discovery
  • prometheus-external-healthchecks
  • env-vars-in-include-paths
  • dns-resolver
  • service-turndown
  • use_proxy_protocol
  • loki
  • docs_operating
  • net-overlay_firewall_containers
  • webdiff
19 results

reference.md

Blame
  • class-wp-image-editor-imagick.php 21.20 KiB
    <?php
    /**
     * WordPress Imagick Image Editor
     *
     * @package WordPress
     * @subpackage Image_Editor
     */
    
    /**
     * WordPress Image Editor Class for Image Manipulation through Imagick PHP Module
     *
     * @since 3.5.0
     * @package WordPress
     * @subpackage Image_Editor
     * @uses WP_Image_Editor Extends class
     */
    class WP_Image_Editor_Imagick extends WP_Image_Editor {
    	/**
    	 * Imagick object.
    	 *
    	 * @access protected
    	 * @var Imagick
    	 */
    	protected $image;
    
    	public function __destruct() {
    		if ( $this->image instanceof Imagick ) {
    			// we don't need the original in memory anymore
    			$this->image->clear();
    			$this->image->destroy();
    		}
    	}
    
    	/**
    	 * Checks to see if current environment supports Imagick.
    	 *
    	 * We require Imagick 2.2.0 or greater, based on whether the queryFormats()
    	 * method can be called statically.
    	 *
    	 * @since 3.5.0
    	 *
    	 * @static
    	 * @access public
    	 *
    	 * @param array $args
    	 * @return bool
    	 */
    	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',