« imagecolortransparent
imagecopy »

imageconvolution

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

imageconvolution — div および offset の係数を使用し、3x3 の畳み込み配列を適用する

説明

function imageconvolution(
    GdImage $image,
    array $matrix,
    float $divisor,
    float $offset
): bool

画像に畳み込み配列を適用します。 指定した係数とオフセットを使用します。

パラメータ

image

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

matrix

3x3 の配列。三つの float 値からなる三つの配列の配列。

divisor

畳み込み結果の除数。正規化で使用します。

offset

色オフセット。

戻り値

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

変更履歴

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

例

例1 PHP.net ロゴのエンボス加工

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

上の例の出力は以下となります。

出力例 : PHP.net ロゴのエンボス加工

例2 ガウス分布のぼかし

<?php
$image = imagecreatetruecolor(180,40);

// テキストを書き、画像にガウス分布のぼかしを適用します
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// 比較用にもう一度テキストを書きます
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

上の例の出力は以下となります。

出力例 : ガウス分布のぼかし

参考

関連キーワード:
image   適用   offset   imageconvolution   係数   畳み込み   画像   GdImage   float   matrix   divisor   オフセット   imagecreatetruecolor   期待   emboss   header   Content   Type   imagepng   ガウス   分布   ぼかし   テキスト   imagestring   Gaussian
関連する関数・ページ:
function.ps-open-image-file   function.ps-open-memory-image   function.ps-close-image   function.imagesx   function.imagesy   function.imagegif