PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagefilter()関数で画像にフィルターを適用する方法

imagefilter()は、PHPのGDライブラリに組み込まれている関数の一つで、指定したフィルターを画像に適用するために使用されます。色調補正やぼかし、モザイク処理など、さまざまな画像加工を簡単に行うことができます。

構文

bool imagefilter(resource $image, int $filtertype, int $arg1, int $arg2, int $arg3, int $arg4)

パラメータ

imagefilter()は、以下の6つのパラメータを受け取ります。

  • $image − 処理対象の画像リソース。
  • $filtertype − 適用するフィルターの種類(整数値)。

主な画像フィルター定数は以下のとおりです。

  • IMG_FILTER_NEGATE − 画像のすべての色を反転させます(ネガポジ反転)。
  • IMG_FILTER_GRAYSCALE − 赤・緑・青の各成分を加重和に変換し、画像をグレースケール化します。
  • IMG_FILTER_BRIGHTNESS − 画像の明るさを変更します。arg1で明るさのレベルを指定します(範囲:-255〜255)。
  • IMG_FILTER_CONTRAST − 画像のコントラストを変更します。$arg1でコントラストのレベルを指定します。
  • IMG_FILTER_COLORIZE − IMG_FILTER_GRAYSCALEに似ていますが、色を指定できる点が異なります。arg1・arg2・arg3を赤・緑・青の各成分として使用し、arg4はアルファチャンネルに使用します。各色の範囲は0〜255です。
  • IMG_FILTER_EDGEDETECT − エッジ検出を行い、画像内の輪郭を強調表示します。
  • IMG_FILTER_GAUSSIAN_BLUR − 画像にガウシアンブラー(ガウスぼかし)を適用します。
  • IMG_FILTER_SELECTIVE_BLUR − 画像にセレクティブブラー(選択的ぼかし)を適用します。
  • IMG_FILTER_EMBOSS − 画像にエンボス(浮き彫り)効果を適用します。
  • IMG_FILTER_MEAN_REMOVAL − 画像からノイズを除去し、スケッチ風の効果を与えます。
  • IMG_FILTER_SMOOTH − 画像を滑らかにします。$arg1で滑らかさのレベルを指定します。
  • IMG_FILTER_PIXELATE − 画像にモザイク(ピクセレート)効果を適用します。$arg1でブロックサイズ、$arg2で効果のモードを指定します。
  • IMG_FILTER_SCATTER − 画像に散乱(スキャッター)効果を適用します。$arg1とarg2で効果の強さを定義し、$arg3で特定のピクセル色への適用を指定します。

オプション引数の一覧

arg1

  • IMG_FILTER_BRIGHTNESS − 明るさのレベル。
  • IMG_FILTER_CONTRAST − コントラストのレベル。
  • IMG_FILTER_COLORIZE − 赤成分の値。
  • IMG_FILTER_SMOOTH − 滑らかさのレベル。
  • IMG_FILTER_PIXELATE − ピクセル単位のブロックサイズ。
  • IMG_FILTER_SCATTER − 効果の減算レベル。

arg2

  • IMG_FILTER_COLORIZE − 緑成分の値。
  • IMG_FILTER_PIXELATE − 高度なピクセレート効果を使用するかどうか(デフォルトはfalse)。
  • IMG_FILTER_SCATTER − 効果の加算レベル。

arg3

  • IMG_FILTER_COLORIZE − 青成分の値。
  • IMG_FILTER_SCATTER − 効果を適用する対象のインデックスカラー値を格納したオプションの配列。

arg4

  • IMG_FILTER_COLORIZE − アルファチャンネル。0〜127の値を指定し、0は完全に不透明、127は完全に透明を表します。

戻り値

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

使用例1:画像のカラライズ(色付け)

<?php
    // ローカルドライブのフォルダからGIF画像を読み込む
    $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

    // 画像にカラライズ(色付け)を適用する
    imagefilter($img, IMG_FILTER_COLORIZE, 140, 0, 140, 20);

    // 出力画像を表示する
    header('Content-type: image/gif');
    imagegif($img);
?>

出力

PHPのimagefilter()関数で画像にフィルターを適用する方法

使用例2:画像のネガティブ(色反転)

<?php
    // ローカルドライブのフォルダからGIF画像を読み込む
    $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

    // 画像をネガティブ(色反転)にする
    imagefilter($img, IMG_FILTER_NEGATE);

    // 出力画像を表示する
    header('Content-type: image/gif');
    imagegif($img);
?>

出力

PHPのimagefilter()関数で画像にフィルターを適用する方法

  1. PHPのimagecreatefromwbmp()関数でWBMPファイルやURLから新しい画像を作成する方法

    PHPには、WBMPファイルまたはURLから新しい画像を作成するための組み込み関数 imagecreatefromwbmp() が用意されています。この関数は、指定されたファイル名から取得した画像を表す画像リソース識別子を返します。WBMPファイルから画像を読み込んだ後に編集したい場合などに活用できる便利な関数です。また、imagewbmp() 関数を使えば、画像をWBMP形式へ変換して保存することも可能です。 構文 resource imagecreatefromwbmp(string $filename) パラメータ imagecreatefromwbmp() が受け取るパラメータは $f

  2. PHPのimageflip()関数の使い方とサンプルコード

    imageflip()関数は、指定されたモードに従って画像を反転させるために使用されるPHPの組み込み関数です。水平方向、垂直方向、あるいはその両方への反転が可能で、画像処理を行う際に非常に便利な機能です。 構文 bool imageflip(img, mode) パラメータ img: imagecreatetruecolor()などの画像作成関数によって生成された画像リソースを指定します。 mode: 反転のモードを指定します。指定できる値は以下の3種類です。 modeに指定できる値 IMG_FLIP_HORIZONTAL:画像を水平方向(左右)に反転します。 IMG_FLIP_VER