array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'imagick.recolorimage.php', 1 => 'Imagick::recolorImage', ), 'up' => array ( 0 => 'class.imagick.php', 1 => 'Imagick', ), 'prev' => array ( 0 => 'imagick.readimages.php', 1 => 'Imagick::readimages', ), 'next' => array ( 0 => 'imagick.reducenoiseimage.php', 1 => 'Imagick::reduceNoiseImage', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/imagick/imagick/recolorimage.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::recolorImage — Перекрашивает изображение
Функция объявлена УСТАРЕВШЕЙ в Imagick 3.4.4. Полагаться на эту функцию крайне не рекомендуется.
Преобразование, масштабирование, сдвиг или поворот цветов изображения. Метод поддерживает матрицы переменного размера, но обычно матрица 5x5 используется для RGBA, а 6x6 - для CMYK. Последняя строка должна содержать нормализованные значения. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.
matrix
Матрица, содержащая значения цвета.
В случае успешной работы возвращает true
.
Пример #1 Пример использования Imagick::recolorImage()
<?php
function recolorImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$remapColor = [ 1, 0, 0,
0, 0, 1,
0, 1, 0,];
//$remapColor = [
// 1.438, -0.122, -0.016, 0, 0, -0.03,
// -0.062, 1.378, -0.016, 0, 0, 0.05,
// -0.062, -0.122, 1.483, 0, 0, -0.02,
//];
@$imagick->recolorImage($remapColor);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>