(PECL imagick 2, PECL imagick 3)
Imagick::sigmoidalContrastImage — Регулирует контраст изображения
$sharpen,$alpha,$beta,$channel = Imagick::CHANNEL_DEFAULT
Метод регулирует контрастность изображения нелинейным сигмоидальным алгоритмом.
Алгоритм увеличивает контрастность сигмоидальной передаточной функцией без насыщения светлых участков или теней.
Параметр alpha задаёт степень увеличения контрастности: 0 — без изменений, 3 — типичное значение, 20 — предельное.
Параметр beta определяет положение средних тонов в результирующем изображении: 0.00 — белый; 0.50 — средний серый; 1.00 — чёрный.
При установке параметру sharpen значения true контрастность изображения увеличивается, иначе контрастность уменьшается.
Подробнее об алгоритме рассказывает раздел » Примеры ImageMagick -- Изменения цвета — Сигмоидальная нелинейная контрастность.
sharpen
При передаче значения true контраст увеличивается, при false — уменьшается.
alphaСтепень изменения контрастности: 1.00 — незначительно, 5.00 — значительно, 20 — предельно.
betachannelЦветовые каналы, к которым требуется применить контраст.
При успешном выполнении функция возвращает 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;
}