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(100, 100);// 背景を設定しますimagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));// オーバーレイアルファブレンディングフラグを適用しますimagelayereffect($im, IMG_EFFECT_OVERLAY);// 2 つのグレーの楕円を描画しますimagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));// 出力しますheader('Content-type: image/png');imagepng($im);imagedestroy($im);?>
上の例の出力は、 たとえば以下のようになります。