Imagick::importImagePixels

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

Imagick::importImagePixels导入图像像素

描述

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

将像素从数组导入图像。 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;

?>

以上示例将输出类似于以下内容

Output of example : Imagick::importImagePixels()

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top