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->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); $Image->crop($crop_width, $crop_height); $Image->save($file_name); $Image->clear(); echo '<a href="' . $file_name . '">' . $file_ext . ' (rotate > resize > crop > save non animated)</a><img src="' . $file_name . '" alt="" class="thumbnail"><br> '; unset($file_name, $Image); // ------------------------------------------------------------------------------------------------------------------- include __DIR__ . DIRECTORY_SEPARATOR . 'include-memory-usage.php'; ?>
} if (is_numeric($start_x)) { $start_x = intval($start_x); } if (is_numeric($start_y)) { $start_y = intval($start_y); } if (!is_numeric($fontsize)) { $fontsize = 15; } else { $fontsize = intval($fontsize); } $Image = new \Rundiz\Image\Drivers\Imagick($source_image_file); switch ($act) { case 'watermarktext': $Image->watermarkText('Rundiz watermark สั้น ญู ให้ ทดสอบสระ.', '../source-images/cschatthai.ttf', $start_x, $start_y, $fontsize); break; case 'crop': $Image->crop($width, $height); break; case 'rotate': $Image->rotate($degree); break; case 'resizenoratio': $Image->resizeNoRatio($width, $height); break; case 'resize': default: $Image->resize($width, $height); break; }
/** * @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); } }