imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

imagelayereffect アルファブレンディングフラグを設定し、レイヤ効果を使用する

説明

imagelayereffect ( resource $image , int $effect ) : bool

アルファブレンディングフラグを設定し、レイヤ効果を使用します。

パラメータ

image

imagecreatetruecolor() のような画像作成関数が返す画像リソース。

effect

以下の定数のいずれか。

IMG_EFFECT_REPLACE
ピクセルの置換を使用します (imagealphablending()TRUE を渡すのと同じです)。
IMG_EFFECT_ALPHABLEND
通常のピクセルブレンディングを使用します (imagealphablending()FALSE を渡すのと同じです)。
IMG_EFFECT_NORMAL
IMG_EFFECT_ALPHABLEND と同じです。
IMG_EFFECT_OVERLAY
オーバーレイを使用すると、背景の黒い部分は黒のまま。 一方背景の白い部分は白のままとなります。 背景のグレーな部分は、前景のピクセルの色となります。
IMG_EFFECT_MULTIPLY
多重効果を使ったオーバーレイを使用します。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

変更履歴

バージョン 説明
7.2.0 IMG_EFFECT_MULTIPLY が追加されました (システムの libgd が 2.1.1 以降であるか、バンドルされている libgd を使う必要があります)。

例1 imagelayereffect() の例

<?php
// 画像を準備します
$im imagecreatetruecolor(100100);

// 背景を設定します
imagefilledrectangle($im00100100imagecolorallocate($im220220220));

// オーバーレイアルファブレンディングフラグを適用します
imagelayereffect($imIMG_EFFECT_OVERLAY);

// 2 つのグレーの楕円を描画します
imagefilledellipse($im50504040imagecolorallocate($im100255100));
imagefilledellipse($im50505080imagecolorallocate($im100100255));
imagefilledellipse($im50508050imagecolorallocate($im255100100));

// 出力します
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

上の例の出力は、 たとえば以下のようになります。

出力例 : imagelayereffect()

注意

PHP 5.5.0 より前のバージョンでは、バンドルされている GD を指定して PHP をコンパイルした場合だけしかこの関数を使えませんでした。