WP_Image_Editor_Imagick::load(): true|WP_Error

In this article

Loads image from $this->file into new Imagick Object.

Return

true|WP_Error True if loaded; WP_Error on failure.

Source

public function load() {	if ( $this->image instanceof Imagick ) {	return true;	}	if ( ! is_file( $this->file ) && ! wp_is_stream( $this->file ) ) {	return new WP_Error( 'error_loading_image', __( 'File does not exist?' ), $this->file );	}	/* * Even though Imagick uses less PHP memory than GD, set higher limit * for users that have low PHP.ini limits. */	wp_raise_memory_limit( 'image' );	try {	$this->image = new Imagick();	$file_extension = strtolower( pathinfo( $this->file, PATHINFO_EXTENSION ) );	if ( 'pdf' === $file_extension ) {	$pdf_loaded = $this->pdf_load_source();	if ( is_wp_error( $pdf_loaded ) ) {	return $pdf_loaded;	}	} else {	if ( wp_is_stream( $this->file ) ) {	// Due to reports of issues with streams with `Imagick::readImageFile()`, uses `Imagick::readImageBlob()` instead.	$this->image->readImageBlob( file_get_contents( $this->file ), $this->file );	} else {	$this->image->readImage( $this->file );	}	}	if ( ! $this->image->valid() ) {	return new WP_Error( 'invalid_image', __( 'File is not an image.' ), $this->file );	}	// Select the first frame to handle animated images properly.	if ( is_callable( array( $this->image, 'setIteratorIndex' ) ) ) {	$this->image->setIteratorIndex( 0 );	}	if ( 'pdf' === $file_extension ) {	$this->remove_pdf_alpha_channel();	}	$this->mime_type = $this->get_mime_type( $this->image->getImageFormat() );	} catch ( Exception $e ) {	return new WP_Error( 'invalid_image', $e->getMessage(), $this->file );	}	$updated_size = $this->update_size();	if ( is_wp_error( $updated_size ) ) {	return $updated_size;	}	return $this->set_quality(); } 

Changelog

VersionDescription
3.5.0Introduced.

User Contributed Notes

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