protected $image = null; // Imagick Object
function __destruct() {
- if ( $this->image ) {
+ if ( $this->image instanceof Imagick ) {
// we don't need the original in memory anymore
$this->image->clear();
$this->image->destroy();
return false;
try {
- return ( (bool) Imagick::queryFormats( $imagick_extension ) );
+ return ( (bool) @Imagick::queryFormats( $imagick_extension ) );
}
catch ( Exception $e ) {
return false;
* @return boolean|WP_Error True if loaded; WP_Error on failure.
*/
public function load() {
- if ( $this->image )
+ if ( $this->image instanceof Imagick )
return true;
if ( ! is_file( $this->file ) && ! preg_match( '|^https?://|', $this->file ) )
* Processes current image and saves to disk
* multiple sizes from single source.
*
+ * 'width' and 'height' are required.
+ * 'crop' defaults to false when not provided.
+ *
* @since 3.5.0
* @access public
*
- * @param array $sizes { {'width'=>int, 'height'=>int, 'crop'=>bool}, ... }
+ * @param array $sizes { {'width'=>int, 'height'=>int, ['crop'=>bool]}, ... }
* @return array
*/
public function multi_resize( $sizes ) {
if ( ! $this->image )
$this->image = $orig_image->getImage();
+ if ( ! ( isset( $size_data['width'] ) && isset( $size_data['height'] ) ) )
+ continue;
+
+ if ( ! isset( $size_data['crop'] ) )
+ $size_data['crop'] = false;
+
$resize_result = $this->resize( $size_data['width'], $size_data['height'], $size_data['crop'] );
if( ! is_wp_error( $resize_result ) ) {
* @since 3.5.0
* @access public
*
- * @param boolean $horz Horizontal Flip
- * @param boolean $vert Vertical Flip
+ * @param boolean $horz Flip along Horizontal Axis
+ * @param boolean $vert Flip along Vertical Axis
* @returns boolean|WP_Error
*/
public function flip( $horz, $vert ) {