Loads image from $this->file into new Imagick Object.
public load ( ) : true | WP_Error | ||
Результат | true | WP_Error | True if loaded; WP_Error on failure. |
/** * It's expected that we can't save image uses imagick built in, as * the undlaying system library can't write to the "s3://" filesystem. * */ public function test_save_image_with_inbuilt_fails() { $upload_dir = wp_upload_dir(); $path = $upload_dir['basedir'] . '/canola.jpg'; copy($this->image_path, $path); $image_editor = new WP_Image_Editor_Imagick($path); $image_editor->load(); $status = $image_editor->save($upload_dir['basedir'] . '/canola-100x100.jpg'); $this->assertWPError($status); }
/** * Loads the filepath into Imagick object. */ public function load() { $ret = parent::load(); // set correct page number if (!is_null($this->pg) && !is_wp_error($ret) && is_callable(array($this->image, 'setIteratorIndex'))) { $err = __('Failed to set Imagick page number', 'document-gallery'); // setIteratorIndex() should return false on failure, but I've found // reports of it throwing an error so handling both cases. // NOTE: I've also seen it fail and return true, so we may not // log anything on failure... try { if (!$this->image->setIteratorIndex($this->pg)) { DG_Logger::writeLog(DG_LogLevel::Error, $err . '.'); } } catch (Exception $e) { DG_Logger::writeLog(DG_LogLevel::Error, $err . ': ' . $e->getMessage()); } } return $ret; }
/** * * @ticket 30596 */ public function test_image_preserves_alpha_on_rotate() { $file = DIR_TESTDATA . '/images/transparent.png'; $pre_rotate_editor = new Imagick($file); $pre_rotate_pixel = $pre_rotate_editor->getImagePixelColor(0, 0); $pre_rotate_alpha = $pre_rotate_pixel->getColorValue(imagick::COLOR_ALPHA); $save_to_file = tempnam(get_temp_dir(), '') . '.png'; $pre_rotate_editor->writeImage($save_to_file); $pre_rotate_editor->destroy(); $image_editor = new WP_Image_Editor_Imagick($save_to_file); $image_editor->load(); $this->assertNotInstanceOf('WP_Error', $image_editor); $image_editor->rotate(180); $image_editor->save($save_to_file); $this->assertImageAlphaAtPointImagick($save_to_file, array(0, 0), $pre_rotate_alpha); unlink($save_to_file); }
/** * Test flipping an image */ public function test_flip() { $file = DIR_TESTDATA . '/images/gradient-square.jpg'; $imagick_image_editor = new WP_Image_Editor_Imagick( $file ); $imagick_image_editor->load(); $property = new ReflectionProperty( $imagick_image_editor, 'image' ); $property->setAccessible( true ); $color_top_left = $property->getValue( $imagick_image_editor )->getImagePixelColor( 1, 1 )->getColor(); $imagick_image_editor->flip( true, false ); $this->assertEquals( $color_top_left, $property->getValue( $imagick_image_editor )->getImagePixelColor( 0, 99 )->getColor() ); }
/** * Test WP_Image_Editor_Imagick handles extension-less images * @ticket 39195 */ public function test_image_non_existent_extension() { $image_editor = new WP_Image_Editor_Imagick(DIR_TESTDATA . '/images/test-image-no-extension'); $result = $image_editor->load(); $this->assertTrue($result); }