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); } }
$Image->clear(); echo '<a href="' . $file_name . '">' . $file_ext . '</a><img src="' . $file_name . '" alt="" class="thumbnail"> '; $file_ext = 'gif'; $file_name = $base_save_file_name . '-sourceanimatedgif.' . $file_ext; $Image->resizeNoRatio($resize_w, $resize_h); $Image->rotate($rotate); $Image->crop($crop_width, $crop_height); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $file_ext . '</a><img src="' . $file_name . '" alt="" class="thumbnail"> '; echo '<br>'; $file_name = '../processed-images/rundiz-imagick-image' . '-rotate-' . $rotate . '-resize-' . $resize_w . 'x' . $resize_h . '-crop-' . $crop_width . 'x' . $crop_height . '-watermarkimage-right,bottom-sourceanimatedgif.' . $file_ext; $Image->rotate($rotate); $Image->resizeNoRatio($resize_w, $resize_h); $Image->crop($crop_width, $crop_height); $Image->watermarkImage('../source-images/watermark.gif', 'right', 'bottom'); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $file_ext . ' (rotate > resize > crop > watermark image)</a><img src="' . $file_name . '" alt="" class="thumbnail"><br> '; $file_name = '../processed-images/rundiz-imagick-image' . '-rotate-' . $rotate . '-resize-' . $resize_w . 'x' . $resize_h . '-crop-' . $crop_width . 'x' . $crop_height . '-watermarktext-right,bottom-sourceanimatedgif.' . $file_ext; $Image->rotate($rotate); $Image->resizeNoRatio($resize_w, $resize_h); $Image->crop($crop_width, $crop_height); $Image->watermarkText('Rundiz watermark สั้น ญู ให้ ทดสอบสระ.', '../source-images/cschatthai.ttf', 'right', 'bottom', 13); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $file_ext . ' (rotate > resize > crop > watermark text)</a><img src="' . $file_name . '" alt="" class="thumbnail"><br> '; $file_name = '../processed-images/rundiz-imagick-image' . '-rotate-' . $rotate . '-resize-' . $resize_w . 'x' . $resize_h . '-crop-' . $crop_width . 'x' . $crop_height . '-sourceanimatedgif-savenonanimated.' . $file_ext; $Image->save_animate_gif = false; $Image->rotate($rotate); $Image->resizeNoRatio($resize_w, $resize_h);
/** * @depends testRequiredImagickImageMagickPhpVersions */ public function testImagickWatermarkImage() { 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_images_set as $watermark_image) { $Image->master_dim = 'auto'; $Image->resizeNoRatio($resize_width, $resize_height); $Image->watermarkImage(self::$source_images_dir . $watermark_image, $watermark_x, $watermark_y); $save_file_name = self::$processed_images_dir . 'rundiz-imagick-source[' . $this->getExtensionFromName($source_image) . ']-masterdim[' . $Image->master_dim . ']-resizeNoRatio[' . $resize_width . 'x' . $resize_height . ']-watermarkImage[' . $this->getExtensionFromName($watermark_image) . '-' . $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_image); } // endforeach; unset($save_extension); } // endforeach; unset($source_image); unset($resize_height, $resize_width, $source_images_set, $watermark_x, $watermark_y); } }