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

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;
}
To Top