(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é.
hueLa 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.
saturationLa valeur normalisée pour la saturation, dont 1 correspond à une saturation complète.
luminosityLa valeur normalisée pour la luminosité, compris entre 0 (noir) et 1 (blanc), avec la valeur HS complète à 0.5 de luminosité.
Retourne TRUE en cas de succès.
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.