Imagick::colorMatrixImage

(PECL imagick 3 >= 3.3.0)

Imagick::colorMatrixImageПрименяет преобразование цвета к изображению

Описание

public function Imagick::colorMatrixImage(array $color_matrix): bool

Метод применяет преобразование цвета к изображению. Метод изменяет насыщенность, вращение оттенка, яркость альфа-канала и другие эффекты. Хотя разработчики применяют матрицы преобразования переменного размера, обычно для изображения цветовой модели RGBA используется матрица 5x5, а для модели CMYKA матрица 6x6 или RGBA со смещениями. Матрица аналогична матрицам мультимедийной платформы Adobe Flash, но с двумя отличиями: смещения указывают в столбце 6 вместо столбца 5 для поддержки изображений цветовой модели CMYKA и норализуют смещения; смещение Flash делится на 255.

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

color_matrix

Возвращаемые значения

Функция в случае успешной работы возвращает true.

Примеры

Пример #1 Пример преобразования цвета методом Imagick::colorMatrixImage()

<?php

function colorMatrixImage($imagePath, $colorMatrix)
{
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageOpacity(1);

    // Пример цветовой матрицы:
    //    $colorMatrix = [
    //        1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
    //        0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 0.0, 1.0, 0.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 1.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 0.0,  1.0
    //    ];

    $background = new \Imagick();
    $background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(),  "pattern:checkerboard");

    $background->setImageFormat('png');

    $imagick->setImageFormat('png');
    $imagick->colorMatrixImage($colorMatrix);

    $background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

    header("Content-Type: image/png");
    echo $background->getImageBlob();
}

?>