Imagick クラス
PHP Manual

Imagick::distortImage

(PECL imagick 2.0.1)

Imagick::distortImageさまざまな方式で画像を歪める

説明

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

さまざまな方式で画像を歪めます。 これは、元画像の色を新たな画像の色に対応させることで行います。 新たな画像は、'bestfit' を true に設定しない限りは元画像と同じ大きさになります。

'bestfit' を有効にし、使用する歪め方式がサイズ変更を許可していた場合は、 変換後の画像に合わせて画像のサイズやオフセットが調整されます。 多くの場合、元画像の仮想オフセットも考慮したマッピングが行われます。

この機能は、Imagick を ImageMagick 6.3.6 以降でコンパイルした場合にのみ存在します。

パラメータ

method

画像の歪め方式。 歪め定数 を参照ください。

arguments

歪め方式の引数。

bestfit

元画像のサイズを変更する。

返り値

成功した場合に TRUE を返します。

エラー / 例外

エラー時に ImagickException をスローします。

例1 Imagick::distortImage() の使用法

画像を歪めてディスクに書き込みます。

<?php
/* 新しいオブジェクトを作成します */
$im = new Imagick();

/* 新しいチェッカー板パターンを作成します */
$im->newPseudoImage(100100"pattern:checkerboard");

/* 画像フォーマットを png に設定します */
$im->setImageFormat('png');

/* 新しい透明な可視領域を設定します */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* マット処理を有効にします */
$im->setImageMatte(true);

/* 歪め用の制御点 */
$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);

/* 歪め処理を行います */                       
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE$controlPointstrue);

/* 画像を出力します */
header("Content-Type: image/png");
echo 
$im;
?>

参考


Imagick クラス
PHP Manual
アダルトレンタルサーバー