function displayTestWatermarkImage(array $test_data_set) { foreach ($test_data_set as $image_ext => $items) { echo '<h3><a href="' . $items['source_image_path'] . '">' . $image_ext . '</a><img src="' . $items['source_image_path'] . '" alt="" class="thumbnail"></h3>' . "\n"; $Image = new \Rundiz\Image\Drivers\Imagick($items['source_image_path']); $main_save_file_name = '../processed-images/rundiz-imagick-image-watermarkImage-testpage-source-' . strtolower($image_ext); foreach ($items['watermark_exts'] as $wm_ext) { $wmext_save_file_name = $main_save_file_name . '-watermark-' . $wm_ext; $watermark_image_path = '../source-images/watermark.' . $wm_ext; echo '<h4>watermark from <a href="' . $watermark_image_path . '">' . $wm_ext . '</a><img src="' . $watermark_image_path . '" alt="" class="thumbnail"></h4>' . "\n"; foreach ($items['watermark_positions'] as $wm_pos) { $save_file_name = $wmext_save_file_name . '-position-' . $wm_pos[0] . ',' . $wm_pos[1]; echo 'position ' . $wm_pos[0] . ', ' . $wm_pos[1] . '<br>'; foreach ($items['watermark_exts'] as $save_ext) { $Image->watermarkImage($watermark_image_path, $wm_pos[0], $wm_pos[1]); $result = $Image->save($save_file_name . '.' . $save_ext); if ($result !== true && $Image->status_msg != null) { echo '<p>' . $Image->status_msg . '</p>'; } $Image->clear(); echo '<a href="' . $save_file_name . '.' . $save_ext . '">save as ' . $save_ext . '</a><img src="' . $save_file_name . '.' . $save_ext . '" alt="" class="thumbnail"> '; } echo '<br>' . "\n"; unset($save_file_name); } unset($watermark_image_path, $wmext_save_file_name, $wm_pos); } unset($Image, $main_save_file_name); } }
function displayTestWatermarkText(array $test_data_set) { foreach ($test_data_set as $image_ext => $items) { echo '<h3><a href="' . $items['source_image_path'] . '">' . $image_ext . '</a><img src="' . $items['source_image_path'] . '" alt="" class="thumbnail"></h3>' . "\n"; $Image = new \Rundiz\Image\Drivers\Imagick($items['source_image_path']); $main_save_file_name = '../processed-images/rundiz-imagick-image-watermarkText-testpage-source-' . strtolower($image_ext); foreach ($items['watermark_fonts'] as $wm_font) { $font_path = '../source-images/' . $wm_font; $wmext_save_file_name = $main_save_file_name . '-font-' . $wm_font; echo '<h4>watermark font ' . $wm_font . '</h4>' . "\n"; foreach ($items['watermark_positions'] as $wm_pos) { $save_file_name = $wmext_save_file_name . '-position-' . $wm_pos[0] . ',' . $wm_pos[1]; echo 'position ' . $wm_pos[0] . ', ' . $wm_pos[1] . '<br>'; foreach ($items['save_exts'] as $save_ext) { $Image->watermarkText('Rundiz watermark สั้น ญู ให้ ทดสอบสระ.', $font_path, $wm_pos[0], $wm_pos[1], 15); $Image->save($save_file_name . '.' . $save_ext); $Image->clear(); echo '<a href="' . $save_file_name . '.' . $save_ext . '">save as ' . $save_ext . '</a><img src="' . $save_file_name . '.' . $save_ext . '" alt="" class="thumbnail"> '; } echo '<br>' . "\n"; unset($save_file_name); } unset($font_path, $wmext_save_file_name, $wm_pos); } unset($Image, $main_save_file_name, $wm_font); } }
$Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $rotate . ' degree</a><img src="' . $file_name . '" alt="" class="thumbnail"> '; // unset($Image); // ------------------------------------------------------------------------------------------------------ ?> <h2>Animated GIF</h2> <?php echo '<a href="' . $source_image_animated_gif . '">source image</a><img src="' . $source_image_animated_gif . '" alt="" class="thumbnail"><br>' . "\n"; $Image = new \Rundiz\Image\Drivers\Imagick($source_image_animated_gif); $rotate = 90; $file_name = '../processed-images/rundiz-imagick-image-rotate-testpage-' . $rotate . 'degree-animated.gif'; $Image->rotate($rotate); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $rotate . ' degree</a><img src="' . $file_name . '" alt="" class="thumbnail"> '; // $rotate = 180; $file_name = '../processed-images/rundiz-imagick-image-rotate-testpage-' . $rotate . 'degree-animated.gif'; $Image->rotate($rotate); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $rotate . ' degree</a><img src="' . $file_name . '" alt="" class="thumbnail"> '; // $rotate = 270; $file_name = '../processed-images/rundiz-imagick-image-rotate-testpage-' . $rotate . 'degree-animated.gif'; $Image->rotate($rotate); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $rotate . ' degree</a><img src="' . $file_name . '" alt="" class="thumbnail"> ';
function displayTestRotate(array $test_data_set) { $test_rotate = array(90, 180, 270, 'hor', 'vrt', 'horvrt'); echo '<h2>Rotate/flip images</h2>' . "\n"; if (is_array($test_data_set)) { foreach ($test_data_set as $img_type_name => $item) { echo '<h3>' . $img_type_name . '</h3>' . "\n"; if (is_array($item) && array_key_exists('source_image_path', $item)) { echo 'Source image: <a href="' . $item['source_image_path'] . '"><img src="' . $item['source_image_path'] . '" alt="" class="thumbnail"></a><br>' . "\n"; $Image = new \Rundiz\Image\Drivers\Imagick($item['source_image_path']); $source_image_exp = explode('.', $item['source_image_path']); $file_ext = '.'; if (is_array($source_image_exp)) { $file_ext .= $source_image_exp[count($source_image_exp) - 1]; } unset($source_image_exp); foreach ($test_rotate as $rotate) { $file_name = '../processed-images/rundiz-imagick-image-rotate-' . str_replace(' ', '-', strtolower($img_type_name)) . '-rotate' . $rotate; echo 'Rotate at <a href="' . $file_name . $file_ext . '">' . $rotate . '</a><img src="' . $file_name . $file_ext . '" alt="" class="thumbnail"><br>' . "\n"; $Image->rotate($rotate); $save_result = $Image->save($file_name . $file_ext); if ($save_result != true) { echo ' Error: ' . $Image->status_msg . '<br>' . "\n"; } unset($file_name, $save_result); $Image->clear(); } // endforeach; $Image->clear(); unset($file_ext, $Image, $rotate); } echo "\n\n"; } // endforeach; } echo "\n\n"; }
function displayTestResizeRatio(array $test_data_set) { foreach ($test_data_set as $main_ext => $items) { echo '<h2><a href="' . $items['source_image_path'] . '">' . $main_ext . '</a><img src="' . $items['source_image_path'] . '" alt="" class="thumbnail"></h2>' . "\n"; $Image = new \Rundiz\Image\Drivers\Imagick($items['source_image_path']); $master_dim = 'auto'; echo '<h3>Not allow resize larger, master dimension ' . $master_dim . '</h3>' . "\n"; $base_save_file_name = '../processed-images/rundiz-imagick-image-resizeratio-testpage-source-' . strtolower(str_replace(array('\\', '/', ' '), '', $main_ext)); $base_save_file_name2 = $base_save_file_name . '-nolarger-masterdim-' . $master_dim; $Image->master_dim = $master_dim; echo 'Saved as: '; foreach ($items['resize_sizes'] as $sizes) { $base_save_file_name3 = $base_save_file_name2 . '-resize-' . $sizes[0] . 'x' . $sizes[1] . '.' . $items['save_as']; $Image->resize($sizes[0], $sizes[1]); $Image->save($base_save_file_name3); $Image->clear(); list($saved_w, $saved_h) = getimagesize($base_save_file_name3); if ($saved_w != $sizes[0] || $saved_h != $sizes[1]) { echo $sizes[0] . 'x' . $sizes[1] . ' => '; } echo '<a href="' . $base_save_file_name3 . '">' . $saved_w . 'x' . $saved_h . '</a><img src="' . $base_save_file_name3 . '" alt="" class="thumbnail"> '; echo ' '; unset($base_save_file_name3, $saved_h, $saved_w); } unset($base_save_file_name, $base_save_file_name2, $sizes); echo '<br>'; // allow resize larger $Image->allow_resize_larger = true; echo '<h3>Allow resize larger, master dimension ' . $master_dim . '</h3>' . "\n"; $base_save_file_name = '../processed-images/rundiz-imagick-image-resizeratio-testpage-source-' . strtolower(str_replace(array('\\', '/', ' '), '', $main_ext)); $base_save_file_name2 = $base_save_file_name . '-allowlarger-masterdim-' . $master_dim; $Image->master_dim = $master_dim; echo 'Saved as: '; foreach ($items['resize_sizes'] as $sizes) { $base_save_file_name3 = $base_save_file_name2 . '-resize-' . $sizes[0] . 'x' . $sizes[1] . '.' . $items['save_as']; $Image->resize($sizes[0], $sizes[1]); $Image->save($base_save_file_name3); $Image->clear(); list($saved_w, $saved_h) = getimagesize($base_save_file_name3); if ($saved_w != $sizes[0] || $saved_h != $sizes[1]) { echo $sizes[0] . 'x' . $sizes[1] . ' => '; } echo '<a href="' . $base_save_file_name3 . '">' . $saved_w . 'x' . $saved_h . '</a><img src="' . $base_save_file_name3 . '" alt="" class="thumbnail"> '; echo ' '; unset($base_save_file_name3, $saved_h, $saved_w); } unset($base_save_file_name, $base_save_file_name2, $sizes); echo '<br>'; // not allow resize larger, master dim = height $master_dim = 'height'; $Image->allow_resize_larger = false; echo '<h3>Not allow resize larger, master dimension ' . $master_dim . '</h3>' . "\n"; $base_save_file_name = '../processed-images/rundiz-imagick-image-resizeratio-testpage-source-' . strtolower(str_replace(array('\\', '/', ' '), '', $main_ext)); $base_save_file_name2 = $base_save_file_name . '-nolarger-masterdim-' . $master_dim; $Image->master_dim = $master_dim; echo 'Saved as: '; foreach ($items['resize_sizes'] as $sizes) { $base_save_file_name3 = $base_save_file_name2 . '-resize-' . $sizes[0] . 'x' . $sizes[1] . '.' . $items['save_as']; $Image->resize($sizes[0], $sizes[1]); $Image->save($base_save_file_name3); $Image->clear(); list($saved_w, $saved_h) = getimagesize($base_save_file_name3); if ($saved_w != $sizes[0] || $saved_h != $sizes[1]) { echo $sizes[0] . 'x' . $sizes[1] . ' => '; } echo '<a href="' . $base_save_file_name3 . '">' . $saved_w . 'x' . $saved_h . '</a><img src="' . $base_save_file_name3 . '" alt="" class="thumbnail"> '; echo ' '; unset($base_save_file_name3, $saved_h, $saved_w); } unset($base_save_file_name, $base_save_file_name2, $sizes); echo '<br>'; unset($Image, $master_dim); } unset($items, $main_ext); }
/** * @depends testRequiredImagickImageMagickPhpVersions */ public function testImagickWatermarkText() { if (is_array($source_images_set = self::$source_images_set)) { $resize_width = 900; $resize_height = 600; $watermark_x = 'center'; $watermark_y = 'middle'; foreach ($source_images_set as $source_image) { $Image = new \Rundiz\Image\Drivers\Imagick(self::$source_images_dir . $source_image); foreach (self::$processed_extensions as $save_extension) { foreach (self::$source_watermark_fonts_set as $watermark_font) { $Image->master_dim = 'auto'; $Image->resizeNoRatio($resize_width, $resize_height); $Image->watermarkText('Rundiz watermark สั้น ญู ให้ ทดสอบสระ.', self::$source_images_dir . $watermark_font, $watermark_x, $watermark_y, 18); $save_file_name = self::$processed_images_dir . 'rundiz-imagick-source[' . $this->getExtensionFromName($source_image) . ']-masterdim[' . $Image->master_dim . ']-resizeNoRatio[' . $resize_width . 'x' . $resize_height . ']-watermarkText[' . $watermark_font . '-' . $watermark_x . ',' . $watermark_y . ']' . '.' . $save_extension; $Image->save($save_file_name); $Image->clear(); list($width, $height, $image_type) = getimagesize($save_file_name); $processed_image_data = array('width' => $width, 'image_type' => $image_type); // test assert. $this->assertArraySubset(array('width' => $resize_width, 'image_type' => $this->getProcessedExtensionTypeNumber($save_extension)), $processed_image_data, '', sprintf('Expected result was not matched. %s', var_export($processed_image_data, true))); unset($height, $width, $image_type, $save_file_name); } // endforeach; unset($watermark_font); } // endforeach; unset($save_extension); } // endforeach; unset($source_image); unset($resize_height, $resize_width, $source_images_set, $watermark_x, $watermark_y); } }