Imagick::sigmoidalContrastImage
(PECL imagick 2, PECL imagick 3)
Imagick::sigmoidalContrastImage — Ajuste le contraste de l'image
Description
public function Imagick::sigmoidalContrastImage(
bool $sharpen,
float $alpha,
float $beta,
int $channel = Imagick::CHANNEL_DEFAULT):
bool
Ajuste le contraste de l'image avec un algorithme de contraste sigmoïde
non linéaire. Augmente le contraste de l'image en utilisant une fonction
de transfert sigmoïde sans saturer les hautes lumières ni les ombres.
alpha indique de combien augmenter le contraste :
0.00 pour ne rien faire ; 3.00 est une
valeur typique ; 20.00 est une valeur poussée.
beta indique où se situent les tons moyens dans
l'image résultante, sous la forme d'une fraction de la plage de quantum :
0.0 correspond au blanc, 0.5 au gris
moyen, 1.0 au noir (multiplier par
getQuantumRange()['quantumRangeLong'] pour obtenir la valeur à
passer).
Voir aussi les » exemples
d'ImageMagick -- Modifications de couleurs — Le contraste non linéaire sigmoïde.
Liste de paramètres
sharpen
-
Si vaut true, le contraste augmentera, sinon, le contraste diminuera.
alpha
-
La quantité de contraste à appliquer. 1.00 représente
une toute petite quantité, 5.00 représente une
quantité significative, 20.00 est extrême.
beta
-
Où doit se situer le milieu du gradient. Cette valeur doit être dans
l'intervalle 0.00 à 1.00,
multipliée par la valeur du quantum pour ImageMagick.
channel
-
Canaux de couleurs sur lesquels le contraste doit s'appliquer.
Valeurs de retour
Retourne true en cas de succès.
Erreurs / Exceptions
Lance une exception ImagickException si une erreur survient.
Exemples
Exemple #1
Crée un gradient d'image en utilisant la méthode
Imagick::sigmoidalContrastImage()
pour mélanger deux images en douceur, où le mélange est
défini par alpha et 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;
}