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

# 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);
    ?>

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

例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);
    ?>

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

### 参考

- imagefilter() - 画像にフィルタを適用する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open