Imagick::sigmoidalContrastImage
PHP Manual
PHP Manual»Imagick»Imagick::sigmoidalContrastImage

Imagick::sigmoidalContrastImage

(PECL imagick 2, PECL imagick 3)

Imagick::sigmoidalContrastImageРегулирует контраст изображения

Описание

public function Imagick::sigmoidalContrastImage(
    bool $sharpen,
    float $alpha,
    float $beta,
    int $channel = Imagick::CHANNEL_DEFAULT
): bool

Метод регулирует контрастность изображения нелинейным сигмоидальным алгоритмом. Алгоритм увеличивает контрастность сигмоидальной передаточной функцией без насыщения светлых участков или теней. Параметр alpha задаёт степень увеличения контрастности: 0 — без изменений, 3 — типичное значение, 20 — предельное. Параметр beta определяет положение средних тонов в результирующем изображении: 0.00 — белый; 0.50 — средний серый; 1.00 — чёрный. При установке параметру sharpen значения true контрастность изображения увеличивается, иначе контрастность уменьшается.

Подробнее об алгоритме рассказывает раздел » Примеры ImageMagick -- Изменения цвета — Сигмоидальная нелинейная контрастность.

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

sharpen

При передаче значения true контраст увеличивается, при false — уменьшается.

alpha

Степень изменения контрастности: 1.00 — незначительно, 5.00 — значительно, 20 — предельно.

beta
Точка перегиба градиента: произведение значения в диапазоне от 0 до 1 и предельного для текущей сборки библиотеки ImageMagick значения квантового диапазона.
channel

Цветовые каналы, к которым требуется применить контраст.

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

При успешном выполнении функция возвращает true.

Ошибки

При ошибке функция выбрасывает исключение ImagickException.

Примеры

Пример #1 Пример создания градиентного изображения методом Imagick::sigmoidalContrastImage() для плавного смешивания двух изображений с заданным контрастом и центром градиента

<?php

function generateBlendImage($width, $height, $contrast = 10, $midpoint = 0.5) {
    $imagick = new Imagick();
    $imagick->newPseudoImage($width, $height, 'gradient:black-white');
    $quanta = $imagick->getQuantumRange();
    $imagick->sigmoidalContrastImage(true, $contrast, $midpoint * $quanta["quantumRangeLong"]);

    return $imagick;
}

To Top