PHP 8.4.1 Released!

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 количеству пикселей. Метод доступен, если модуль Imagick скомпилировали с версией ImageMagick 6.4.5 или старше.

Список параметров

x

Положение изображения по оси X.

y

Положение изображения по оси Y.

width

Ширина изображения.

height

Высота изображения.

map

Карта упорядочения пикселей в виде строки. Это может быть, например, RGB. Значение может быть любой комбинацией или порядком: R = красный, G = зелёный, B = синий, A = альфа (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));

/* Ширина и высота. Площадь - это количество пикселей, разделённое на три.
Три происходит от "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);

/* Вывод изображения */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo
$im;

?>

Вывод приведённого примера будет похож на:

Пример использования Imagick::importImagePixels()

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top