Ignore:
Timestamp:
Dec 13, 2015, 11:35:58 AM (5 years ago)
Author:
cedric@…
Message:

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/filtres_images/filtres/images_lib.php

    r93092 r93611  
    1010\***************************************************************************/
    1111
    12 if (!defined('_ECRIRE_INC_VERSION')) return;
     12if (!defined('_ECRIRE_INC_VERSION')) {
     13        return;
     14}
    1315
    1416// librairie de base du core
     
    1618
    1719function multiple_de_trois($val) {
    18         return intval(round($val / 3) * 3);
     20        return intval(round($val/3)*3);
    1921}
    2022
     
    2325 * RGB entiers entre 0 et 255
    2426 * HSV float entre 0 et 1
    25  * 
     27 *
    2628 * @param int $R
    2729 * @param int $G
     
    2931 * @return array
    3032 */
    31 function _couleur_rgb2hsv ($R, $G, $B) {
    32         $var_R = ( $R / 255 ) ;                    //Where RGB values = 0 ÷ 255
    33         $var_G = ( $G / 255 );
    34         $var_B = ( $B / 255 );
    35 
    36         $var_Min = min( $var_R, $var_G, $var_B ) ;   //Min. value of RGB
    37         $var_Max = max( $var_R, $var_G, $var_B ) ;   //Max. value of RGB
    38         $del_Max = $var_Max - $var_Min  ;           //Delta RGB value
     33function _couleur_rgb2hsv($R, $G, $B) {
     34        $var_R = ($R/255);                    //Where RGB values = 0 ÷ 255
     35        $var_G = ($G/255);
     36        $var_B = ($B/255);
     37
     38        $var_Min = min($var_R, $var_G, $var_B);   //Min. value of RGB
     39        $var_Max = max($var_R, $var_G, $var_B);   //Max. value of RGB
     40        $del_Max = $var_Max-$var_Min;           //Delta RGB value
    3941
    4042        $V = $var_Max;
    41         $L = ( $var_Max + $var_Min ) / 2;
    42        
    43         if ( $del_Max == 0 )                     //This is a gray, no chroma...
    44         {
    45            $H = 0 ;                            //HSL results = 0 ÷ 1
    46            $S = 0 ;
    47         }
    48         else                                    //Chromatic data...
    49         {
    50            $S = $del_Max / $var_Max;
    51        
    52            $del_R = ( ( ( $var_Max - $var_R ) / 6 ) + ( $del_Max / 2 ) ) / $del_Max;
    53            $del_G = ( ( ( $var_Max - $var_G ) / 6 ) + ( $del_Max / 2 ) ) / $del_Max;
    54            $del_B = ( ( ( $var_Max - $var_B ) / 6 ) + ( $del_Max / 2 ) ) / $del_Max;
    55        
    56            if      ( $var_R == $var_Max ) $H = $del_B - $del_G;
    57            else if ( $var_G == $var_Max ) $H = ( 1 / 3 ) + $del_R - $del_B;
    58            else if ( $var_B == $var_Max ) $H = ( 2 / 3 ) + $del_G - $del_R;
    59        
    60            if ( $H < 0 )  $H =  $H + 1;
    61            if ( $H > 1 )  $H = $H - 1;
    62         }
    63                                
     43        $L = ($var_Max+$var_Min)/2;
     44
     45        if ($del_Max == 0)                     //This is a gray, no chroma...
     46        {
     47                $H = 0;                            //HSL results = 0 ÷ 1
     48                $S = 0;
     49        } else                                    //Chromatic data...
     50        {
     51                $S = $del_Max/$var_Max;
     52
     53                $del_R = ((($var_Max-$var_R)/6)+($del_Max/2))/$del_Max;
     54                $del_G = ((($var_Max-$var_G)/6)+($del_Max/2))/$del_Max;
     55                $del_B = ((($var_Max-$var_B)/6)+($del_Max/2))/$del_Max;
     56
     57                if ($var_R == $var_Max) {
     58                        $H = $del_B-$del_G;
     59                } else {
     60                        if ($var_G == $var_Max) {
     61                                $H = (1/3)+$del_R-$del_B;
     62                        } else {
     63                                if ($var_B == $var_Max) {
     64                                        $H = (2/3)+$del_G-$del_R;
     65                                }
     66                        }
     67                }
     68
     69                if ($H < 0) {
     70                        $H = $H+1;
     71                }
     72                if ($H > 1) {
     73                        $H = $H-1;
     74                }
     75        }
     76
    6477        $ret["h"] = $H;
    6578        $ret["s"] = $S;
    6679        $ret["v"] = $V;
    67        
     80
    6881        return $ret;
    6982}
     
    7386 * HSV float entre 0 et 1
    7487 * RGB entiers entre 0 et 255
    75  * 
     88 *
    7689 * @param float $H
    7790 * @param float $S
     
    7992 * @return array
    8093 */
    81 function _couleur_hsv2rgb ($H, $S, $V) {
    82        
    83         if ( $S == 0 )                       //HSV values = 0 ÷ 1
    84         {
    85            $R = $V * 255;
    86            $G = $V * 255;
    87            $B = $V * 255;
    88         }
    89         else
    90         {
    91            $var_h = $H * 6;
    92            if ( $var_h == 6 ) $var_h = 0 ;     //H must be < 1
    93            $var_i = floor( $var_h )  ;           //Or ... var_i = floor( var_h )
    94            $var_1 = $V * ( 1 - $S );
    95            $var_2 = $V * ( 1 - $S * ( $var_h - $var_i ) );
    96            $var_3 = $V * ( 1 - $S * ( 1 - ( $var_h - $var_i ) ) );
    97        
    98        
    99            if      ( $var_i == 0 ) { $var_r = $V     ; $var_g = $var_3 ; $var_b = $var_1 ; }
    100            else if ( $var_i == 1 ) { $var_r = $var_2 ; $var_g = $V     ; $var_b = $var_1 ; }
    101            else if ( $var_i == 2 ) { $var_r = $var_1 ; $var_g = $V     ; $var_b = $var_3 ; }
    102            else if ( $var_i == 3 ) { $var_r = $var_1 ; $var_g = $var_2 ; $var_b = $V ;     }
    103            else if ( $var_i == 4 ) { $var_r = $var_3 ; $var_g = $var_1 ; $var_b = $V ; }
    104            else                   { $var_r = $V     ; $var_g = $var_1 ; $var_b = $var_2; }
    105        
    106            $R = $var_r * 255;                  //RGB results = 0 ÷ 255
    107            $G = $var_g * 255;
    108            $B = $var_b * 255;
     94function _couleur_hsv2rgb($H, $S, $V) {
     95
     96        if ($S == 0)                       //HSV values = 0 ÷ 1
     97        {
     98                $R = $V*255;
     99                $G = $V*255;
     100                $B = $V*255;
     101        } else {
     102                $var_h = $H*6;
     103                if ($var_h == 6) {
     104                        $var_h = 0;
     105                }     //H must be < 1
     106                $var_i = floor($var_h);           //Or ... var_i = floor( var_h )
     107                $var_1 = $V*(1-$S);
     108                $var_2 = $V*(1-$S*($var_h-$var_i));
     109                $var_3 = $V*(1-$S*(1-($var_h-$var_i)));
     110
     111
     112                if ($var_i == 0) {
     113                        $var_r = $V;
     114                        $var_g = $var_3;
     115                        $var_b = $var_1;
     116                } else {
     117                        if ($var_i == 1) {
     118                                $var_r = $var_2;
     119                                $var_g = $V;
     120                                $var_b = $var_1;
     121                        } else {
     122                                if ($var_i == 2) {
     123                                        $var_r = $var_1;
     124                                        $var_g = $V;
     125                                        $var_b = $var_3;
     126                                } else {
     127                                        if ($var_i == 3) {
     128                                                $var_r = $var_1;
     129                                                $var_g = $var_2;
     130                                                $var_b = $V;
     131                                        } else {
     132                                                if ($var_i == 4) {
     133                                                        $var_r = $var_3;
     134                                                        $var_g = $var_1;
     135                                                        $var_b = $V;
     136                                                } else {
     137                                                        $var_r = $V;
     138                                                        $var_g = $var_1;
     139                                                        $var_b = $var_2;
     140                                                }
     141                                        }
     142                                }
     143                        }
     144                }
     145
     146                $R = $var_r*255;                  //RGB results = 0 ÷ 255
     147                $G = $var_g*255;
     148                $B = $var_b*255;
    109149        }
    110150        $ret["r"] = floor($R);
    111151        $ret["g"] = floor($G);
    112152        $ret["b"] = floor($B);
    113        
     153
    114154        return $ret;
    115155}
     
    120160 * HSL float entre 0 et 1
    121161 * RGB entiers entre 0 et 255
    122  * 
     162 *
    123163 * @param int $R
    124164 * @param int $G
     
    126166 * @return array
    127167 */
    128 function _couleur_rgb2hsl ($R, $G, $B) {
    129         $var_R = ( $R / 255 ) ;                    //Where RGB values = 0 ÷ 255
    130         $var_G = ( $G / 255 );
    131         $var_B = ( $B / 255 );
    132 
    133         $var_Min = min( $var_R, $var_G, $var_B ) ;   //Min. value of RGB
    134         $var_Max = max( $var_R, $var_G, $var_B ) ;   //Max. value of RGB
    135         $del_Max = $var_Max - $var_Min  ;           //Delta RGB value
    136 
    137         $L = ( $var_Max + $var_Min ) / 2;
    138        
    139         if ( $del_Max == 0 )                     //This is a gray, no chroma...
    140         {
    141            $H = 0 ;                            //HSL results = 0 ÷ 1
    142            $S = 0 ;
    143         }
    144         else                                    //Chromatic data...
    145         {
    146                 if ($L < 0.5 ) $S = $del_Max / ( $var_Max+ $var_Min);
    147                 else $S = $del_Max/ ( 2 - $var_Max - $var_Min);
    148 
    149                 $del_R = ( ( ( $var_Max- $var_R) / 6 ) + ( $del_Max / 2 ) ) / $del_Max;
    150                 $del_G = ( ( ( $var_Max- $var_G) / 6 ) + ( $del_Max / 2 ) ) / $del_Max;
    151                 $del_B = ( ( ( $var_Max- $var_B) / 6 ) + ( $del_Max / 2 ) ) / $del_Max;
    152 
    153                 if ( $var_R == $var_Max) $H= $del_B - $del_G;
    154                 else if ( $var_G == $var_Max) $H= ( 1 / 3 ) + $del_R - $del_B;
    155                 else if ( $var_B == $var_Max) $H= ( 2 / 3 ) + $del_G - $del_R;
    156 
    157                 if ( $H < 0 ) $H+= 1;
    158                 if ( $H > 1 ) $H-= 1;
    159         }
    160                                
     168function _couleur_rgb2hsl($R, $G, $B) {
     169        $var_R = ($R/255);                    //Where RGB values = 0 ÷ 255
     170        $var_G = ($G/255);
     171        $var_B = ($B/255);
     172
     173        $var_Min = min($var_R, $var_G, $var_B);   //Min. value of RGB
     174        $var_Max = max($var_R, $var_G, $var_B);   //Max. value of RGB
     175        $del_Max = $var_Max-$var_Min;           //Delta RGB value
     176
     177        $L = ($var_Max+$var_Min)/2;
     178
     179        if ($del_Max == 0)                     //This is a gray, no chroma...
     180        {
     181                $H = 0;                            //HSL results = 0 ÷ 1
     182                $S = 0;
     183        } else                                    //Chromatic data...
     184        {
     185                if ($L < 0.5) {
     186                        $S = $del_Max/($var_Max+$var_Min);
     187                } else {
     188                        $S = $del_Max/(2-$var_Max-$var_Min);
     189                }
     190
     191                $del_R = ((($var_Max-$var_R)/6)+($del_Max/2))/$del_Max;
     192                $del_G = ((($var_Max-$var_G)/6)+($del_Max/2))/$del_Max;
     193                $del_B = ((($var_Max-$var_B)/6)+($del_Max/2))/$del_Max;
     194
     195                if ($var_R == $var_Max) {
     196                        $H = $del_B-$del_G;
     197                } else {
     198                        if ($var_G == $var_Max) {
     199                                $H = (1/3)+$del_R-$del_B;
     200                        } else {
     201                                if ($var_B == $var_Max) {
     202                                        $H = (2/3)+$del_G-$del_R;
     203                                }
     204                        }
     205                }
     206
     207                if ($H < 0) {
     208                        $H += 1;
     209                }
     210                if ($H > 1) {
     211                        $H -= 1;
     212                }
     213        }
     214
    161215        $ret["h"] = $H;
    162216        $ret["s"] = $S;
    163217        $ret["l"] = $L;
    164        
     218
    165219        return $ret;
    166220}
    167221
    168222/**
    169  * Calcul d'une composante R, G ou B 
     223 * Calcul d'une composante R, G ou B
    170224 *
    171225 * @param unknown_type $v1
     
    174228 * @return float
    175229 */
    176 function hue_2_rgb( $v1, $v2, $vH ) {
    177    if ( $vH < 0 ) $vH += 1;
    178    if ( $vH > 1 ) $vH -= 1;
    179    if ( ( 6 * $vH ) < 1 ) return ( $v1 + ( $v2 - $v1 ) * 6 * $vH );
    180    if ( ( 2 * $vH ) < 1 ) return ( $v2 );
    181    if ( ( 3 * $vH ) < 2 ) return ( $v1 + ( $v2 - $v1 ) * ( ( 2 / 3 ) - $vH ) * 6 );
    182    return ( $v1 );
     230function hue_2_rgb($v1, $v2, $vH) {
     231        if ($vH < 0) {
     232                $vH += 1;
     233        }
     234        if ($vH > 1) {
     235                $vH -= 1;
     236        }
     237        if ((6*$vH) < 1) {
     238                return ($v1+($v2-$v1)*6*$vH);
     239        }
     240        if ((2*$vH) < 1) {
     241                return ($v2);
     242        }
     243        if ((3*$vH) < 2) {
     244                return ($v1+($v2-$v1)*((2/3)-$vH)*6);
     245        }
     246
     247        return ($v1);
    183248}
    184249
     
    194259 * @return array
    195260 */
    196 function _couleur_hsl2rgb ($H, $S, $L) {
    197        
    198         if ( $S == 0 )                       //HSV values = 0 -> 1
    199         {
    200            $R = $L * 255;
    201            $G = $L * 255;
    202            $B = $L * 255;
    203         }
    204         else
    205         {
    206                 if ( $L < 0.5 ) $var_2 = $L * ( 1 + $S );
    207                 else            $var_2 = ( $L + $S ) - ( $S * $L );
    208 
    209                 $var_1 = 2 * $L - $var_2;
    210 
    211                 $R = 255 * hue_2_rgb( $var_1, $var_2, $H + ( 1 / 3 ) ) ;
    212                 $G = 255 * hue_2_rgb( $var_1, $var_2, $H );
    213                 $B = 255 * hue_2_rgb( $var_1, $var_2, $H - ( 1 / 3 ) );
     261function _couleur_hsl2rgb($H, $S, $L) {
     262
     263        if ($S == 0)                       //HSV values = 0 -> 1
     264        {
     265                $R = $L*255;
     266                $G = $L*255;
     267                $B = $L*255;
     268        } else {
     269                if ($L < 0.5) {
     270                        $var_2 = $L*(1+$S);
     271                } else {
     272                        $var_2 = ($L+$S)-($S*$L);
     273                }
     274
     275                $var_1 = 2*$L-$var_2;
     276
     277                $R = 255*hue_2_rgb($var_1, $var_2, $H+(1/3));
     278                $G = 255*hue_2_rgb($var_1, $var_2, $H);
     279                $B = 255*hue_2_rgb($var_1, $var_2, $H-(1/3));
    214280        }
    215281        $ret["r"] = floor($R);
    216282        $ret["g"] = floor($G);
    217283        $ret["b"] = floor($B);
    218        
     284
    219285        return $ret;
    220286}
     
    229295function _image_couleur_extraire($img, $x = 10, $y = 6) {
    230296        static $couleur_extraite = array();
    231        
    232         if (isset($couleur_extraite["$img-$x-$y"]))
     297
     298        if (isset($couleur_extraite["$img-$x-$y"])) {
    233299                return $couleur_extraite["$img-$x-$y"];
     300        }
    234301
    235302        // valeur par defaut si l'image ne peut etre lue
     
    237304
    238305        $cache = _image_valeurs_trans($img, "coul-$x-$y", "txt");
    239         if (!$cache)
     306        if (!$cache) {
    240307                return $couleur_extraite["$img-$x-$y"] = $defaut;
    241 
    242        
    243         $fichier = $cache["fichier"];   
     308        }
     309
     310
     311        $fichier = $cache["fichier"];
    244312        $dest = $cache["fichier_dest"];
    245313
    246         if (isset($couleur_extraite["$fichier-$x-$y"]))
     314        if (isset($couleur_extraite["$fichier-$x-$y"])) {
    247315                return $couleur_extraite["$fichier-$x-$y"];
    248        
     316        }
     317
    249318        $creer = $cache["creer"];
    250        
     319
    251320        if ($creer) {
    252321                if (@file_exists($fichier)) {
    253322                        $width = $cache["largeur"];
    254323                        $height = $cache["hauteur"];
    255                
     324
    256325                        $newwidth = 20;
    257326                        $newheight = 20;
    258                
     327
    259328                        $thumb = imagecreate($newwidth, $newheight);
    260329
    261330                        $source = $cache["fonction_imagecreatefrom"]($fichier);
    262                        
     331
    263332                        imagepalettetotruecolor($source);
    264333
     
    271340                                // make it human readable
    272341                                $color_tran = imagecolorsforindex($thumb, $color_index);
    273                                 $x++; $y++;
    274                         } while ($color_tran['alpha']==127 AND $x<$newwidth AND $y<$newheight);
    275                        
     342                                $x++;
     343                                $y++;
     344                        } while ($color_tran['alpha'] == 127 AND $x < $newwidth AND $y < $newheight);
     345
    276346                        $couleur = _couleur_dec_to_hex($color_tran["red"], $color_tran["green"], $color_tran["blue"]);
    277                 }
    278                 else {
     347                } else {
    279348                        $couleur = $defaut;
    280349                }
    281                
     350
    282351                // Mettre en cache le resultat
    283352                $couleur_extraite["$fichier-$x-$y"] = $couleur;
    284                 ecrire_fichier($dest,$couleur_extraite["$fichier-$x-$y"]);
    285         }
    286         else {
    287                 lire_fichier($dest,$couleur_extraite["$fichier-$x-$y"]);
    288         }
    289        
    290         return $couleur_extraite["$img-$x-$y"]=$couleur_extraite["$fichier-$x-$y"];
     353                ecrire_fichier($dest, $couleur_extraite["$fichier-$x-$y"]);
     354        } else {
     355                lire_fichier($dest, $couleur_extraite["$fichier-$x-$y"]);
     356        }
     357
     358        return $couleur_extraite["$img-$x-$y"] = $couleur_extraite["$fichier-$x-$y"];
    291359}
    292360
     
    298366// et j'ai ajoute la ponderation par la distance au pixel)
    299367function _image_distance_pixel($xo, $yo, $x0, $y0) {
    300         $vx = $xo - $x0;
    301         $vy = $yo - $y0;
    302         $d = 1 - (sqrt(($vx)*($vx) + ($vy)*($vy)) / sqrt(2));
     368        $vx = $xo-$x0;
     369        $vy = $yo-$y0;
     370        $d = 1-(sqrt(($vx)*($vx)+($vy)*($vy))/sqrt(2));
     371
    303372        return $d;
    304373}
     
    314383 */
    315384function _image_decale_composante($coul, $gamma) {
    316         $coul = $coul + $gamma;
    317        
    318         if ($coul > 255) $coul = 255;
    319         if ($coul < 0) $coul = 0;
     385        $coul = $coul+$gamma;
     386
     387        if ($coul > 255) {
     388                $coul = 255;
     389        }
     390        if ($coul < 0) {
     391                $coul = 0;
     392        }
     393
    320394        return $coul;
    321395}
     
    324398 * Decalage d'une composante de couleur en sepia
    325399 * entier de 0 a 255
    326  * 
     400 *
    327401 * @param int $coul
    328402 * @param int $val
     
    330404 */
    331405function _image_decale_composante_127($coul, $val) {
    332         if ($coul < 127) $y = round((($coul - 127) / 127) * $val) + $val;
    333         else if ($coul >= 127) $y = round((($coul - 127) / 128) * (255-$val)) + $val;
    334         else $y= $coul;
    335        
    336         if ($y < 0) $y = 0;
    337         if ($y > 255) $y = 255;
     406        if ($coul < 127) {
     407                $y = round((($coul-127)/127)*$val)+$val;
     408        } else {
     409                if ($coul >= 127) {
     410                        $y = round((($coul-127)/128)*(255-$val))+$val;
     411                } else {
     412                        $y = $coul;
     413                }
     414        }
     415
     416        if ($y < 0) {
     417                $y = 0;
     418        }
     419        if ($y > 255) {
     420                $y = 255;
     421        }
     422
    338423        return $y;
    339424}
Note: See TracChangeset for help on using the changeset viewer.