function displayTestResizes(array $test_data_set) { $test_exts = array('gif', 'jpg', 'png'); echo '<h2>Resize the 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']); $file_name = '../processed-images/rundiz-imagick-image-resize-' . str_replace(' ', '-', strtolower($img_type_name)) . '-900x600'; echo 'Save as '; foreach ($test_exts as $ext) { $Image->resizeNoRatio(900, 600); $save_result = $Image->save($file_name . '.' . $ext); $Image->clear(); if ($save_result === true) { echo ' <a href="' . $file_name . '.' . $ext . '">' . $ext . '</a><img src="' . $file_name . '.' . $ext . '" alt="" class="thumbnail">' . "\n"; $img_data = getimagesize($file_name . '.' . $ext); if (is_array($img_data) && array_key_exists('mime', $img_data)) { echo '(' . $img_data['mime'] . ')' . "\n"; } } else { echo '<br>Error: ' . $Image->status_msg . "\n"; } unset($img_data, $save_result); } unset($ext, $file_name, $Image); echo '<br>Use show() method as '; foreach ($test_exts as $ext) { $image_class_show_url = 'imagick-show-image.php?source_image_file=' . $item['source_image_path'] . '&show_ext=' . $ext . '&act=resizenoratio&width=900&height=600'; echo ' <a href="' . $image_class_show_url . '">' . $ext . '</a><img src="' . $image_class_show_url . '" alt="" class="thumbnail">' . "\n"; } unset($ext); } echo "\n\n"; } // endforeach; } echo "\n\n"; }
$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"> '; unset($file_name, $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"; echo 'Save as: ' . "\n"; $Image = new \Rundiz\Image\Drivers\Imagick($source_image_animated_gif); $file_ext = 'jpg'; $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"> '; $file_ext = 'png'; $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"> '; $file_ext = 'gif'; $file_name = $base_save_file_name . '-sourceanimatedgif.' . $file_ext;
} 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; } if ($Image->status === false) { die($Image->status_msg); } header('Content-type: ' . $Image->source_image_data['mime']); $Image->show($show_ext); $Image->clear();
/** * @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); } }