(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::importImagePixels — 导入图像像素
$x
,$y
,$width
,$height
,$map
,$storage
,$pixels
将像素从数组导入图像。 map
通常为 'RGB'。 此方法对参数施加以下约束:数组中的像素数量必须与 width
x height
x 地图的长度匹配。 如果 Imagick 是针对 ImageMagick 版本 6.4.5 或更高版本编译的,则此方法可用。
x
图像的 x 坐标
y
图像的 y 坐标
width
图像宽度
height
图像高度
map
像素排序图,以字符串形式表示。 这可以是例如 RGB
。 该值可以是 R = 红色、G = 绿色、B = 蓝色、A = alpha(0 为透明)、O = 不透明度(0 为不透明)、C = 青色、Y = 黄色、M = 洋红色、K = 黑色、I = 强度(用于灰度)、P = 填充的任何组合或顺序。
storage
像素存储方法。 请参考此 像素常量 列表。
pixels
像素数组
成功时返回 true
。
错误时抛出 ImagickException。
示例 #1 Imagick::importImagePixels() 示例
<?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',每个像素三个值 */
$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;
?>
以上示例将输出类似于以下内容