Changeset 68142 in spip-zone for _plugins_/fonctions_images


Ignore:
Timestamp:
Dec 4, 2012, 9:49:42 PM (6 years ago)
Author:
real3t@…
Message:

Synchronisation avec le trunk

Location:
_plugins_/fonctions_images/branches/v1
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fonctions_images/branches/v1/filtres/couleurs_complements.php

    r63437 r68142  
    213213}
    214214
     215/**
     216 * Melanger 2 couleurs hexa
     217 *
     218 * @param string/array $arg1
     219 *     tableau couleur 1 & 2, ou string couleur 1
     220 * @param string $arg2
     221 *     couleur 2 ou pourcentage : nombre entre 0 et 100 (defaut 50)
     222 * @param int $arg3
     223 *     pourcentage : nombre entre 0 et 100 (defaut 50)
     224 * @return string
     225 *     nouvelle couleur hexa
     226 *
     227 * ex: #VAL{888888}|couleur_melanger{ff0066, 75}
     228 *     #CONFIG{mon_plugin/ma_couleur}|couleur_melanger{#ffffff, 20}
     229 *     #LISTE{ff3366,888888}|couleur_melanger{20}
     230**/
     231function couleur_melanger($arg1, $arg2, $arg3=50) {
     232
     233        // 2 cas pour les arguments : tableau des 2 couleurs, pourcentage // couleur1, couleur2, pourcentage
     234        if (is_string($arg1)){
     235                $couleur1 = $arg1;
     236                $couleur2 = $arg2;
     237                $pourcentage = $arg3;
     238        } elseif (is_array($arg1)){
     239                $couleur1 = $arg1[0];
     240                $couleur2 = $arg1[1];
     241                $pourcentage = $arg2;
     242                if (!isset($pourcentage)) $pourcentage=50;
     243        };
     244
     245        /* => Desactive !
     246        /* compatibilité : les pourcentages compris entre 0 et 1 fonctionnent
     247           comme pour les filtres de couleurs de Spip.
     248           Ainsi couleur_melanger{0.25} = couleur_melanger{25} */
     249        /*
     250        if ($pourcentage>=0 AND $pourcentage<=1) {
     251                $coef = 1;
     252        } else {
     253                $coef = 100;
     254        };
     255        */
     256        $coef = 100;
     257
     258        // verifications
     259        if (!$couleur2 OR $pourcentage<=0 OR !is_numeric($pourcentage)) return(preg_replace(",^#,","",$couleur1));
     260        if ($pourcentage>=$coef) return(preg_replace(",^#,","",$couleur2));
     261
     262        // definition du pourcentage
     263        $pourcentage1 = ($coef-$pourcentage)/$coef;
     264        $pourcentage2 = $pourcentage/$coef;
     265
     266        // conversion
     267        $couleurs1 = couleur_hexa_to_dec($couleur1);
     268        $couleurs2 = couleur_hexa_to_dec($couleur2);
     269        $red1   = $couleurs1["red"];
     270        $green1 = $couleurs1["green"];
     271        $blue1  = $couleurs1["blue"];
     272        $red2   = $couleurs2["red"];
     273        $green2 = $couleurs2["green"];
     274        $blue2  = $couleurs2["blue"];
     275
     276        // melange
     277        $red   = round($red1*$pourcentage1 + $red2*$pourcentage2);
     278        $green = round($green1*$pourcentage1 + $green2*$pourcentage2);
     279        $blue  = round($blue1*$pourcentage1 + $blue2*$pourcentage2);
     280
     281        $couleur = _couleur_dec_to_hex($red, $green, $blue);
     282        return $couleur;
     283}
     284
    215285function couleur_hexa_to_dec($couleur) {
    216286        include_spip('inc/filtres_images_lib_mini');
  • _plugins_/fonctions_images/branches/v1/fonctions_images_fonctions.php

    r63437 r68142  
    2626        $GLOBALS['spip_matrice']['image_merge'] = 'filtres/images_complements.php';
    2727
    28 
    2928        $GLOBALS['spip_matrice']['couleur_chroma'] = 'filtres/couleurs_complements.php';
    3029        $GLOBALS['spip_matrice']['couleur_saturer'] = 'filtres/couleurs_complements.php';
     
    3433        $GLOBALS['spip_matrice']['couleur_foncerluminosite'] = 'filtres/couleurs_complements.php';
    3534        $GLOBALS['spip_matrice']['couleur_eclaircirluminosite'] = 'filtres/couleurs_complements.php';
     35        $GLOBALS['spip_matrice']['couleur_melanger'] = 'filtres/couleurs_complements.php';
    3636        $GLOBALS['spip_matrice']['couleur_hexa_to_dec'] = 'filtres/couleurs_complements.php';
    3737}
  • _plugins_/fonctions_images/branches/v1/plugin.xml

    r63437 r68142  
    1414        <auteur>[Arnaud Martin->http://www.paris-beyrouth.org/-SPIP-], Matthieu Marcillaud (mise en plugin)</auteur>
    1515        <licence>&#169; 2007-2012 - GNU/GPL</licence>
    16         <version>0.5.4</version>
     16        <version>0.5.5</version>
    1717        <etat>stable</etat>
    1818   <description>
Note: See TracChangeset for help on using the changeset viewer.