<?php
/* ピクセルの配列を生成します。各色について 2000 ピクセルとなります */
$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));
/* 幅と高さ。ピクセル数を 3 で割った量が面積となります。
3 というのは 'RGB' からきたもので、1 ピクセルあたり 3 つの値があるということです */
$width = $height = pow((count($pixels) / 3), 0.5);
/* 空の画像を作成します */
$im = new Imagick();
$im->newImage($width, $height, 'gray');
/* ピクセルが画像に取り込みます。
width * height * strlen("RGB") が count($pixels) と一致しなければなりません */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);
/* jpeg 画像として出力します */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;
?>