関数・クラス解説

ImagickKernel::fromMatrix

version:PECL imagick >= 3.3.0 (公式)

Description

公式リファレンス

書式

public static ImagickKernel::fromMatrix ( array $matrix [, array $origin ] ) : ImagickKernel

説明

Create a kernel from an 2d matrix of values. Each value should either be a float (if the element should be used) or 'false' if the element should be skipped. For matrices that are odd sizes in both dimensions the origin pixel will default to the centre of the kernel. For all other kernel sizes the origin pixel must be specified.

パラメータ

array
A matrix (i.e. 2d array) of values that define the kernel. Each element should be either a float value, or FALSE if that element shouldn't be used by the kernel.
array
Which element of the kernel should be used as the origin pixel. e.g. For a 3x3 matrix specifying the origin as [2, 2] would specify that the bottom right element should be the origin pixel.

返値

The generated ImagickKernel.

サンプル

例1 ImagickKernel::fromMatrix()

function renderKernel(ImagickKernel $imagickKernel) {     $matrix = $imagickKernel->getMatrix();          $imageMargin = 20;          $tileSize = 20;     $tileSpace = 4;     $shadowSigma = 4;     $shadowDropX = 20;     $shadowDropY = 0;     $radius = ($tileSize / 2) * 0.9;          $rows = count($matrix);     $columns = count($matrix[0]);       $imagickDraw = new \ImagickDraw();     $imagickDraw->setFillColor('#afafaf');     $imagickDraw->setStrokeColor('none');          $imagickDraw->translate($imageMargin, $imageMargin);     $imagickDraw->push();     ksort($matrix);          foreach ($matrix as $row) {         ksort($row);         $imagickDraw->push();         foreach ($row as $cell) {             if ($cell !== false) {                 $color = intval(255 * $cell);                 $colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);                 $imagickDraw->setFillColor($colorString);                 $imagickDraw->rectangle(0, 0, $tileSize, $tileSize);             }             $imagickDraw->translate(($tileSize + $tileSpace), 0);         }         $imagickDraw->pop();         $imagickDraw->translate(0, ($tileSize + $tileSpace));     }     $imagickDraw->pop();     $width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);     $height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);     $imagickDraw->push();     $imagickDraw->translate($width/2 , $height/2);     $imagickDraw->setFillColor('rgba(0, 0, 0, 0)');     $imagickDraw->setStrokeColor('white');     $imagickDraw->circle(0, 0, $radius - 1, 0);     $imagickDraw->setStrokeColor('black');     $imagickDraw->circle(0, 0, $radius, 0);     $imagickDraw->pop();     $canvasWidth = $width + (2 * $imageMargin);      $canvasHeight = $height + (2 * $imageMargin);     $kernel = new \Imagick();     $kernel->newPseudoImage(         $canvasWidth,         $canvasHeight,         'canvas:none'     );     $kernel->setImageFormat('png');     $kernel->drawImage($imagickDraw);       /* create drop shadow on it's own layer */     $canvas = $kernel->clone();     $canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));     $canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);     $canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);     $canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);          /* composite original text_layer onto shadow_layer */     $canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);     $canvas->setImageFormat('png');     return $canvas; } function createFromMatrix() {     $matrix = [         [0.5, 0, 0.2],         [0, 1, 0],         [0.9, 0, false],     ];     $kernel = \ImagickKernel::fromMatrix($matrix);     return $kernel; }      function fromMatrix() {     $kernel = createFromMatrix();     $imagick = renderKernel($kernel);     header("Content-Type: image/png");     echo $imagick->getImageBlob(); }

ワード検索


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

関数名アルファベット別

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用の拡張モジュール