array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'imagick.mergeimagelayers.php', 1 => 'Imagick::mergeImageLayers', ), 'up' => array ( 0 => 'class.imagick.php', 1 => 'Imagick', ), 'prev' => array ( 0 => 'imagick.medianfilterimage.php', 1 => 'Imagick::medianFilterImage', ), 'next' => array ( 0 => 'imagick.minifyimage.php', 1 => 'Imagick::minifyImage', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/imagick/imagick/mergeimagelayers.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL imagick 2 >= 2.1.0, PECL imagick 3)
Imagick::mergeImageLayers — 画像のレイヤーをマージする
画像のレイヤーをひとつにまとめます。このメソッドは、PSD のように複数レイヤーに対応した画像フォーマットを扱うときに便利です。
マージ処理は layer_method
で制御します。ここにはレイヤーをマージする方法を定義します。
このメソッドは、ImageMagick バージョン 6.3.7 以降で Imagick をコンパイルした場合に使用可能です。
layer_method
Imagick::LAYERMETHOD_*
定数のいずれか。
マージした画像を含む Imagick オブジェクトを返します。
エラー時に ImagickException をスローします。
例1 Imagick::mergeImageLayers()
<?php
function mergeImageLayers($layerMethodType, $imagePath1, $imagePath2) {
$imagick = new \Imagick(realpath($imagePath));
$imagick2 = new \Imagick(realpath($imagePath2));
$imagick->addImage($imagick2);
$imagick->setImageFormat('png');
$result = $imagick->mergeImageLayers($layerMethodType);
header("Content-Type: image/png");
echo $result->getImageBlob();
}
?>