WP_Image_Editor_Imagick::rotate( float $angle ): true|WP_Error

In this article

Rotates current image counter-clockwise by $angle.

Parameters

$anglefloatrequired

Return

true|WP_Error

Source

public function rotate( $angle ) {
	/**
	 * $angle is 360-$angle because Imagick rotates clockwise
	 * (GD rotates counter-clockwise)
	 */
	try {
		$this->image->rotateImage( new ImagickPixel( 'none' ), 360 - $angle );

		// Normalize EXIF orientation data so that display is consistent across devices.
		if ( is_callable( array( $this->image, 'setImageOrientation' ) ) && defined( 'Imagick::ORIENTATION_TOPLEFT' ) ) {
			$this->image->setImageOrientation( Imagick::ORIENTATION_TOPLEFT );
		}

		// Since this changes the dimensions of the image, update the size.
		$result = $this->update_size();
		if ( is_wp_error( $result ) ) {
			return $result;
		}

		$this->image->setImagePage( $this->size['width'], $this->size['height'], 0, 0 );
	} catch ( Exception $e ) {
		return new WP_Error( 'image_rotate_error', $e->getMessage() );
	}

	return true;
}

Changelog

VersionDescription
3.5.0Introduced.

User Contributed Notes

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