예제 #1
0
$file_name = '../processed-images/rundiz-imagick-image-rotate-testpage-' . $rotate . 'degree.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"> ';
//
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);
예제 #2
0
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 ' &nbsp; &nbsp; 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";
}
예제 #3
0
}
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();
예제 #4
0
 /**
  * @depends testRequiredImagickImageMagickPhpVersions
  */
 public function testImagickRotate()
 {
     if (is_array($source_images_set = self::$source_images_set)) {
         $resize_width = 400;
         $resize_height = 300;
         $rotate = 270;
         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) {
                 $Image->master_dim = 'auto';
                 $Image->resizeNoRatio($resize_width, $resize_height);
                 $Image->rotate($rotate);
                 $save_file_name = self::$processed_images_dir . 'rundiz-imagick-source[' . $this->getExtensionFromName($source_image) . ']-masterdim[' . $Image->master_dim . ']-resizeNoRatio[' . $resize_width . 'x' . $resize_height . ']-rotate[' . $rotate . ']' . '.' . $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_height, '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($save_extension);
         }
         // endforeach;
         unset($source_image);
         unset($resize_height, $resize_width, $rotate, $source_images_set);
     }
 }