Imagick::sigmoidalContrastImage
(PECL imagick 2, PECL imagick 3)
Imagick::sigmoidalContrastImage — Ajusta el contraste de la imagen
Descripción
public function Imagick::sigmoidalContrastImage(
bool $sharpen,
float $alpha,
float $beta,
int $channel = Imagick::CHANNEL_DEFAULT):
bool
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.
Parámetros
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.
channel
-
Canales de color sobre los cuales debe aplicarse el contraste.
Valores devueltos
Devuelve true en caso de éxito.
Errores/Excepciones
Lanza una ImagickException en caso de error.
Ejemplos
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;
}