imagecopymergegray

グレースケールでイメージの一部をコピー、マージする

説明

bool imagecopymergegray(
    GdImage $dst_image,
    GdImage $src_image,
    int $dst_x,
    int $dst_y,
    int $src_x,
    int $src_y,
    int $src_width,
    int $src_height,
    int $pct
)

imagecopymergegray は、 src_image の X,Y座標 src_x, src_y から 始まる幅 src_width、高さ src_height の領域を dst_image にコピーします。 定義された部分は、x、y座標dst_xdst_yにコピーされます。

この関数は imagecopymerge と同じですが、マー ジをする際に、コピー前にコピー先のピクセルをグレースケールに変換 することにより、コピー先のピクセルをコピー元の色相を維持するとこ ろが異なります。

パラメータ

dst_image

コピー先の画像リソース。

src_image

コピー元の画像リソース。

dst_x

コピー先の x 座標。

dst_y

コピー先の y 座標。

src_x

コピー元の x 座標。

src_y

コピー元の y 座標。

src_width

コピー元の幅。

src_height

コピー元の高さ。

pct

src_imagepct にしたがってグレースケールに変換されます。 pct が 0 の場合は完全なグレースケール、 100 の場合は何も変わらない状態となります。 pct = 100 の場合、パレット画像に対してはこの関数は imagecopy と同じ動作となります (アルファコンポーネントを無視する点だけが違います)。 一方 true color 画像については、この関数はアルファ透過度を実装しています。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 dst_imagesrc_image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 resource を期待していました。

例1 imagecopymergegray の使用法

<?php
// 画像のインスタンスを作成します
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// コピー・マージ (Gray = 20%) します
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// 出力してメモリから解放します
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>