関数・クラス解説

Imagick::sparseColorImage

version:No version information available (公式)

色を補間する

公式リファレンス

書式

public Imagick::sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] ) : bool

説明

数値を含む配列を引数として受け取り、画像全体にわたって見つかった座標の色を補間します。補間には sparse_method を用います。 このメソッドは、ImageMagick バージョン 6.4.5 以降で Imagick をコンパイルした場合に使用可能です。

パラメータ

SPARSE_METHOD
sparse method 定数 の一覧を参照ください。
arguments
座標を含む配列。配列の書式は array(1,1, 2,45) のようになります。
channel
そのモードで有効なチャネル定数を指定します。複数のチャネルを適用するには、チャネル定数をビット演算子で組み合わせます。デフォルトは Imagick::CHANNEL_DEFAULT です。チャネル定数 の一覧を参照ください。

返値

成功した場合に TRUE を返します。

エラー

エラー時に ImagickException をスローします。

サンプル

例1 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

    function renderImageBarycentric2() {         $points = [             [0.30, 0.10, 'red'],             [0.10, 0.80, 'blue'],             [0.70, 0.60, 'lime'],             [0.80, 0.20, 'yellow'],         ];         $imagick = createGradientImage(             400, 400,             $points,             \Imagick::SPARSECOLORMETHOD_BARYCENTRIC         );         header("Content-Type: image/png");         echo $imagick->getImageBlob();     }

例2 SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage()

    function renderImageBilinear() {         $points = [[0.30, 0.10, 'red'], [0.10, 0.80, 'blue'], [0.70, 0.60, 'lime'], [0.80, 0.20, 'yellow'],];         $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_BILINEAR);         header("Content-Type: image/png");         echo $imagick->getImageBlob();     }

例3 SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage()

    function renderImageShepards() {         $points = [             [0.30, 0.10, 'red'],             [0.10, 0.80, 'blue'],             [0.70, 0.60, 'lime'],             [0.80, 0.20, 'yellow'],         ];         $imagick = createGradientImage(600, 600, $points, \Imagick::SPARSECOLORMETHOD_SPEPARDS);         header("Content-Type: image/png");         echo $imagick->getImageBlob();     }

例4 SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage()

    function renderImageVoronoi() {         $points = [             [0.30, 0.10, 'red'],             [0.10, 0.80, 'blue'],             [0.70, 0.60, 'lime'],             [0.80, 0.20, 'yellow'],         ];         $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_VORONOI);         header("Content-Type: image/png");         echo $imagick->getImageBlob();     }

例5 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

    function renderImageBarycentric() {         $points = [             [0, 0, 'skyblue'],             [-1, 1, 'skyblue'],             [1, 1, 'black'],         ];         $imagick = createGradientImage(600, 200, $points, \Imagick::SPARSECOLORMETHOD_BARYCENTRIC);         header("Content-Type: image/png");         echo $imagick->getImageBlob();     }

例6 createGradientImage is used by other examples. Imagick::sparseColorImage()

function createGradientImage($width, $height, $colorPoints, $sparseMethod, $absolute = false) {     $imagick = new \Imagick();     $imagick->newImage($width, $height, "white");     $imagick->setImageFormat("png");     $barycentricPoints = array();     foreach ($colorPoints as $colorPoint) {         if ($absolute == true) {             $barycentricPoints[] = $colorPoint[0];             $barycentricPoints[] = $colorPoint[1];         }         else {             $barycentricPoints[] = $colorPoint[0] * $width;             $barycentricPoints[] = $colorPoint[1] * $height;         }         if (is_string($colorPoint[2])) {             $imagickPixel = new \ImagickPixel($colorPoint[2]);         }         else if ($colorPoint[2] instanceof \ImagickPixel) {             $imagickPixel = $colorPoint[2];         }         else{             $errorMessage = sprintf(                 "Value %s is neither a string nor an ImagickPixel class. Cannot use as a color.",                 $colorPoint[2]             );             throw new \InvalidArgumentException(                 $errorMessage             );         }         $red = $imagickPixel->getColorValue(\Imagick::COLOR_RED);         $green = $imagickPixel->getColorValue(\Imagick::COLOR_GREEN);         $blue = $imagickPixel->getColorValue(\Imagick::COLOR_BLUE);         $alpha = $imagickPixel->getColorValue(\Imagick::COLOR_ALPHA);         $barycentricPoints[] = $red;         $barycentricPoints[] = $green;         $barycentricPoints[] = $blue;         $barycentricPoints[] = $alpha;     }     $imagick->sparseColorImage($sparseMethod, $barycentricPoints);     return $imagick; }

ワード検索


※入力キーワードが、関数名・説明文・タグに含まれるものを検索

関数名アルファベット別

A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z _

最終更新一覧

stristr
 大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

stripslashes
 バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

stripos
 大文字小文字を区別せずに文字列が最初に現れる位置を取得する

stripcslashes
 addcslashes() でクォートされた文字列をアンクォートする

strip_tags
 文字列から HTML と PHP のタグを除去して返却

strcspn
 指定した文字が最初に現れる位置を調べる

strcoll
 ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

strcmp
 2つの文字列を比較し同じか(あるいは大小)を判定する

strchr
 strstr() のエイリアス

strcasecmp
 2つの文字列を比較(大文字小文字を区別せず同じとみなす)

カテゴリー一覧

PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール