Imagick::distortImage

(PECL imagick 2.0.1)

Imagick::distortImageDistorts an image using various distortion methods

说锟斤拷

Imagick::distortImage ( int $method , array $arguments , bool $bestfit ) : bool

Distorts an image using various distortion methods, by mapping color lookups of the source image to a new destination image usually of the same size as the source image, unless 'bestfit' is set to TRUE.

If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.

锟剿凤拷锟斤拷锟斤拷Imagick锟斤拷锟斤拷ImageMagick 6.3.6锟斤拷锟较版本锟斤拷锟斤拷时锟斤拷锟矫★拷

锟斤拷锟斤拷

method

The method of image distortion. See distortion constants

arguments

The arguments for this distortion method

bestfit

Attempt to resize destination to fit distorted source

锟斤拷锟斤拷值

锟缴癸拷时锟斤拷锟斤拷 TRUE锟斤拷

锟斤拷锟斤拷锟届常

锟斤拷锟斤拷时锟阶筹拷 ImagickException锟斤拷

锟斤拷锟斤拷

Example #1 Using Imagick::distortImage():

Distort an image and display to the browser.

<?php
/* Create new object */
$im = new Imagick();

/* Create new checkerboard pattern */
$im->newPseudoImage(100100"pattern:checkerboard");

/* Set the image format to png */
$im->setImageFormat('png');

/* Fill new visible areas with transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Activate matte */
$im->setImageMatte(true);

/* Control points for the distortion */
$controlPoints = array( 1010
                        
105,

                        
10$im->getImageHeight() - 20,
                        
10$im->getImageHeight() - 5,

                        
$im->getImageWidth() - 1010,
                        
$im->getImageWidth() - 1020,

                        
$im->getImageWidth() - 10$im->getImageHeight() - 10,
                        
$im->getImageWidth() - 10$im->getImageHeight() - 30);

/* Perform the distortion */                       
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE$controlPointstrue);

/* Ouput the image */
header("Content-Type: image/png");
echo 
$im;
?>

锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷锟斤拷冢锟�

Output of example : Using Imagick::distortImage()

锟轿硷拷