Example #1
0
function couleur_eclaircir($couleur, $coeff = 0.5)
{
    $couleurs = _couleur_hex_to_dec($couleur);
    $red = $couleurs["red"] + round((255 - $couleurs["red"]) * $coeff);
    $green = $couleurs["green"] + round((255 - $couleurs["green"]) * $coeff);
    $blue = $couleurs["blue"] + round((255 - $couleurs["blue"]) * $coeff);
    $couleur = _couleur_dec_to_hex($red, $green, $blue);
    return $couleur;
}
Example #2
0
function couleur_dec_to_hex($red, $green, $blue)
{
    include_spip('filtres/images_lib');
    return _couleur_dec_to_hex($red, $green, $blue);
}
Example #3
0
function couleur_luminance($couleur, $val)
{
    include_spip('filtres/images_lib');
    $couleurs = _couleur_hex_to_dec($couleur);
    $r = $couleurs["red"];
    $g = $couleurs["green"];
    $b = $couleurs["blue"];
    // Cas etonnant: quand gris parfait, la correction de HSL ne fonctionne pas
    // en revanche, couleur_saturation retourne exactement la bonne valeur
    if ($r == $g && $g == $b) {
        return couleur_saturation($couleur, $val);
    }
    $couleur = _couleur_rgb2hsl($r, $g, $b);
    $h = $couleur["h"];
    $s = $couleur["s"];
    $l = $couleur["l"];
    $rgb = _couleur_hsl2rgb($h, $s, 1 - $val);
    $r = $rgb["r"];
    $g = $rgb["g"];
    $b = $rgb["b"];
    $retour = _couleur_dec_to_hex($r, $g, $b);
    return $retour;
}
Example #4
0
function _image_couleur_extraire($img, $x = 10, $y = 6)
{
    static $couleur_extraite = array();
    if (isset($couleur_extraite["{$img}-{$x}-{$y}"])) {
        return $couleur_extraite["{$img}-{$x}-{$y}"];
    }
    // valeur par defaut si l'image ne peut etre lue
    $defaut = "F26C4E";
    $cache = _image_valeurs_trans($img, "coul-{$x}-{$y}", "txt");
    if (!$cache) {
        return $couleur_extraite["{$img}-{$x}-{$y}"] = $defaut;
    }
    $fichier = $cache["fichier"];
    $dest = $cache["fichier_dest"];
    if (isset($couleur_extraite["{$fichier}-{$x}-{$y}"])) {
        return $couleur_extraite["{$fichier}-{$x}-{$y}"];
    }
    $creer = $cache["creer"];
    if ($creer) {
        if (@file_exists($fichier)) {
            $width = $cache["largeur"];
            $height = $cache["hauteur"];
            $newwidth = 20;
            $newheight = 20;
            $thumb = imagecreate($newwidth, $newheight);
            $source = $cache["fonction_imagecreatefrom"]($fichier);
            imagepalettetotruecolor($source);
            imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
            do {
                // get a color
                $color_index = imagecolorat($thumb, $x, $y);
                // make it human readable
                $color_tran = imagecolorsforindex($thumb, $color_index);
                $x++;
                $y++;
            } while ($color_tran['alpha'] == 127 and $x < $newwidth and $y < $newheight);
            $couleur = _couleur_dec_to_hex($color_tran["red"], $color_tran["green"], $color_tran["blue"]);
        } else {
            $couleur = $defaut;
        }
        // Mettre en cache le resultat
        $couleur_extraite["{$fichier}-{$x}-{$y}"] = $couleur;
        ecrire_fichier($dest, $couleur_extraite["{$fichier}-{$x}-{$y}"]);
    } else {
        lire_fichier($dest, $couleur_extraite["{$fichier}-{$x}-{$y}"]);
    }
    return $couleur_extraite["{$img}-{$x}-{$y}"] = $couleur_extraite["{$fichier}-{$x}-{$y}"];
}