(PECL imagick 2.0.0)
ImagickPixel::setHSL — Définit la couleur HSL normalisée
$hue
, float $saturation
, float $luminosity
)Définit la couleur décrite par l'objet ImagickPixel en utilisant les valeurs normalisées pour la densité, la saturation et la luminosité.
hue
La valeur normalisée pour la densité, décrite par un arc fractionnel (entre 0 et 1) du cercle de densité, dont la valeur zéro correspond à rouge.
saturation
La valeur normalisée pour la saturation, dont 1 correspond à une saturation complète.
luminosity
La valeur normalisée pour la luminosité, compris entre 0 (noir) et 1 (blanc), avec la valeur HS complète à 0.5 de luminosité.
Returns TRUE
on success.
Exemple #1 Exemple avec ImagickPixel::setHSL() pour modifier une couleur
<?php
// Crée un rouge pure
$color = new ImagickPixel('rgb(90%, 10%, 10%)');
// Récupère ses valeurs HSL
$colorInfo = $color->getHSL();
// Effectue une rotation de la teinte de 180 degrés
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
$newHue = $newHue - 1;
}
// Définit l'objet ImagickPixel à la nouvelle couleur
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);
// Vérifie que la nouvelle couleur est bien bleu/verte
$colorInfo = $color->getcolor();
print_r($colorInfo);
?>
L'exemple ci-dessus va afficher :
Array ( [r] => 26 [g] => 230 [b] => 230 [a] => 255 )
Note:
Disponible avec la version 6.2.9 et supérieure de la bibliothèque ImageMagick.