Imagick::importImagePixels

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::importImagePixels画像のピクセルをインポートする

説明

publicImagick::importImagePixels(
    int$x,
    int$y,
    int$width,
    int$height,
    string$map,
    int$storage,
    array$pixels
): bool

配列から画像にピクセルをインポートします。map は、通常は 'RGB' です。このメソッドのパラメータには次の制約があります。配列内のピクセルの量が、 width x height x mapの長さ と一致しなければなりません。 このメソッドは、ImageMagick バージョン 6.4.5 以降で Imagick をコンパイルした場合に使用可能です。

パラメータ

x

画像の x 位置。

y

画像の y 位置。

width

画像の幅。

height

画像の高さ。

map

ピクセルの並び順を表す文字列。たとえば RGB のようになります。以下の文字を任意の順で組み合わせることができます。 R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.

storage

ピクセルの格納方式。 pixel 定数 の一覧を参照ください。

pixels

ピクセルの配列。

戻り値

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

エラー / 例外

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

例1 Imagick::importImagePixels() の例

<?php


$count = 2000 * 3;

$pixels =
array_merge(array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0));


$width = $height = pow((count($pixels) / 3), 0.5);


$im = new Imagick();
$im->newImage($width, $height, 'gray');


$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);


$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo
$im;

?>

上の例の出力は、 たとえば以下のようになります。

出力例 : Imagick::importImagePixels()
To Top