Imagick::compositeImage

(PECL imagick 2.0.0)

Imagick::compositeImageある画像を別の画像に合成する

説明

Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] ) : bool

ある画像を、別の画像の指定した位置に合成します。 合成アルゴリズムに指定する引数は、 setImageArtifact の第一パラメータに 'compose:args'、第二パラメータにデータを渡す必要があります。

パラメータ

composite_object

合成する画像を保持する Imagick オブジェクト。

compose

合成演算子。合成演算定数 を参照ください。

x

合成する位置の列オフセット。

y

合成する位置の行オフセット。

channel

そのチャネルモードで使用可能なチャネル定数を指定します。 複数のチャネルを指定するには、チャネル型定数をビット演算子で結合します。 チャネル定数 の一覧を参照ください。

返り値

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

例1 Imagick::compositeImage() の利用例

二つの画像を 'mathematics' 方式で合成します。

<?php

// これは、以下のコマンドを実行するのと同等の処理です
// convert src1.png src2.png -compose mathematics -define compose:args="1,0,-0.5,0.5" -composite output.png

$src1 = new \Imagick("./src1.png");
$src2 = new \Imagick("./src2.png");

$src1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src1->setImageArtifact('compose:args'"1,0,-0.5,0.5");
$src1->compositeImage($src2Imagick::COMPOSITE_MATHEMATICS00);
$src1->writeImage("./output.png");

?>

参考