(PECL imagick 2, PECL imagick 3)
Imagick::sigmoidalContrastImage — Ajusta el contraste de la imagen
$sharpen,$alpha,$beta,$channel = Imagick::CHANNEL_DEFAULT
Ajusta el contraste de la imagen con un algoritmo de contraste sigmoide
no lineal. Aumenta el contraste de la imagen utilizando una función
de transferencia sigmoide sin saturar las luces altas y las sombras.
alpha indica cuánto debe aumentarse el contraste:
0.00 para no hacer nada; 3.00 es
un valor típico; 20.00 es un valor extremo.
beta indica dónde estarán los tonos medios en la
imagen resultante, como una fracción del rango del quantum:
0.0 corresponde a blanco, 0.5 a
gris medio y 1.0 a negro (se debe multiplicar por
getQuantumRange()['quantumRangeLong'] para obtener el valor
a pasar).
Consúltense también los » ejemplos de ImageMagick -- Modificaciones de color — Contraste no lineal sigmoide.
sharpen
Si es true, el contraste aumentará; si es false, el contraste disminuirá.
alpha
La cantidad de contraste a aplicar. 1.00 representa una cantidad
muy pequeña, 5.00 una cantidad significativa y
20.00 un valor extremo.
beta
Dónde debe situarse el punto medio del gradiente. Este valor debe estar
en el intervalo de 0.00 a 1.00,
multiplicado por el valor del quantum para ImageMagick.
channelCanales de color sobre los cuales debe aplicarse el contraste.
Devuelve true en caso de éxito.
Lanza una ImagickException en caso de error.
Ejemplo #1
Crea un degradado de imagen utilizando el método
Imagick::sigmoidalContrastImage()
para mezclar dos imágenes suavemente, donde la mezcla
está definida por alpha y beta
<?php
function generateBlendImage($width, $height, $alpha = 10, $beta = 0.5)
{
$imagick = new Imagick();
$imagick->newPseudoImage($width, $height, 'gradient:black-white');
$quanta = $imagick->getQuantumRange();
$imagick->sigmoidalContrastImage(true, $alpha, $beta * $quanta["quantumRangeLong"]);
return $imagick;
}