imagelayereffect

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

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

説明

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

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

パラメータ

image

imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。

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 を返します。

変更履歴

バージョン 説明
8.0.0 image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource が期待されていました。
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()
関連キーワード:  効果, フラグ, レイヤ, 設定, 使用, imagelayereffect, 部分, GdImage, 背景, ピクセル