Skip to content
Snippets Groups Projects
Select Git revision
  • 47b9cb58bd3b0b74142ae4484f61330d066699c2
  • noblogs default
  • noblogs-5.7.1
  • upstream
  • noblogs-5.7
  • noblogs-5.6new
  • upstream5.5.1
  • noblogs28dic
  • upstream28dic
  • noblogs-5.5.1
  • noblogs-5.4.2
  • noblogs-5.4_seconda
  • noblogs-5.4
  • noblogs-7c
  • wp5.2.3p3
  • mergedbconf
  • noblogs-5.7.1
  • noblogs.5.7.0p1
  • noblogs-5.7.0
  • noblogs-5.6p3
  • noblogs5.6p2
  • noblogs-5.6p1
  • noblogs-5.6
  • noblogs-5.4.2p1
  • noblogs-5.4.2
  • noblogs-5.4.1
  • noblogs-5.4
  • noblogs-p5.4
  • noblogs-5.3.2p2
  • noblogs-5.3.2p1
  • noblogs-5.3.2
  • noblogs-5.3
  • noblogs-5.2.3p4
  • noblogs-5.2.3p3
  • noblogs-5.2.3p2
  • noblogs-5.2.3p1
36 results

class-wp-image-editor-imagick.php

Blame
  • class-wp-image-editor-imagick.php 13.47 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 {
    	/**
    	 * @var Imagick
    	 */
    	protected $image; // Imagick Object
    
    	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
    	 * @access public
    	 *
    	 * @return boolean
    	 */
    	public static function test( $args = array() ) {
    
    		// First, test Imagick's extension and classes.
    		if ( ! extension_loaded( 'imagick' ) || ! class_exists( 'Imagick' ) || ! class_exists( 'ImagickPixel' ) )
    			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',
    			'scaleimage',
    			'cropimage',
    			'rotateimage',
    			'flipimage',
    			'flopimage',
    		);