Imagick::importImagePixels()
(No version information available, might only be in Git)
Imports image pixels
说明
public Imagick::importImagePixels(int $x,int $y,int $width,int $height,string $map,int $storage,array $pixels): bool
Imports pixels from an array into an image. The$mapis usually 'RGB'. This method imposes the following constraints for the parameters: amount of pixels in the array must match$widthx$heightx length of the map.此方法在Imagick基于ImageMagick 6.4.5以上版本编译时可用。
参数
- $x
The image x position
- $y
The image y position
- $width
The image width
- $height
The image height
- $map
Map of pixel ordering as a string. This can be for exampleRGB. The value can be any combination or order of 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
The pixel storage method. Refer to this list of pixel constants.
- $pixels
The array of pixels
返回值
成功时返回TRUE
。
错误/异常
错误时抛出 ImagickException。
范例
Example #1 Imagick::importImagePixels() example
<?php /* Generate array of pixels. 2000 pixels per color stripe */ $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 and height. The area is amount of pixels divided by three. Three comes from 'RGB', three values per pixel */ $width = $height = pow((count($pixels) / 3), 0.5); /* Create empty image */ $im = new Imagick(); $im->newImage($width, $height, 'gray'); /* Import the pixels into image. width * height * strlen("RGB") must match count($pixels) */ $im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels); /* output as jpeg image */ $im->setImageFormat('jpg'); header("Content-Type: image/jpg"); echo $im; ?>
以上例程的输出类似于: