Changeset 147


Ignore:
Timestamp:
06/20/05 10:59:00 (17 years ago)
Author:
bastiaans
Message:

toga/overview.php:

  • Fixed randomColor function now color should really differ enough
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/addons/toga/overview.php

    r140 r147  
    164164        $min_diff = 50;
    165165
    166         $c1r = decHex( colorRed( $first ) );
    167         $c1g = decHex( colorGreen( $first ) );
    168         $c1b = decHex( colorBlue( $first ) );
    169 
    170         $c2r = decHex( colorRed( $second ) );
    171         $c2g = decHex( colorGreen( $second ) );
    172         $c2b = decHex( colorBlue( $second ) );
     166        $c1r = hexDec( colorRed( $first ) );
     167        $c1g = hexDec( colorGreen( $first ) );
     168        $c1b = hexDec( colorBlue( $first ) );
     169
     170        $c2r = hexDec( colorRed( $second ) );
     171        $c2g = hexDec( colorGreen( $second ) );
     172        $c2b = hexDec( colorBlue( $second ) );
    173173
    174174        $rdiff = ($c1r >= $c2r) ? $c1r - $c2r : $c2r - $c1r;
     
    184184function randomColor( $known_colors ) {
    185185
    186         $start = hexdec( "004E00" );
    187         $end = hexdec( "FFFFFF" );
    188 
    189         if( count( $known_colors ) == 0 )
    190                 return dechex(rand( $start, $end ));
    191 
    192         $color_changed = TRUE;
    193 
    194         while( $color_changed ) {
    195 
    196                 $color_changed = FALSE;
    197 
    198                 foreach( $known_colors as $old ) {
    199 
    200                         if( !isset( $new ) )
    201                                 $new = rand( $start, $end );
    202 
    203                         if( !colorDiffer( dechex( $new ), $old ) )
    204 
    205                                 while( !colorDiffer( $new, $old ) ) {
    206 
    207                                         $new = rand( $start, $end );
    208                                         $color_changed = TRUE;
    209                                 }
    210                 }
     186        $start = "004E00";
     187       
     188        $start_red = colorRed( $start );
     189        $start_green = colorGreen( $start );
     190        $start_blue = colorBlue( $start );
     191       
     192        $end = "FFFFFF";
     193
     194        $end_red = colorRed( $end );
     195        $end_green = colorGreen( $end );
     196        $end_blue = colorBlue( $end );
     197
     198        $change_color = TRUE;
     199
     200        while( $change_color ) {
     201
     202                $change_color = FALSE;
     203
     204                $new_red = rand( hexDec( $start_red ), hexDec( $end_red ) );
     205                $new_green = rand( hexDec( $start_green ), hexDec( $end_green ) );
     206                $new_blue = rand( hexDec( $start_blue ), hexDec( $end_blue ) );
     207
     208                $new = decHex( $new_red ) . decHex( $new_green ) . decHex( $new_blue );
     209
     210                foreach( $known_colors as $old )
     211
     212                        if( !colorDiffer( $new, $old ) )
     213
     214                                $change_color = TRUE;
    211215        }
    212216
    213217        // Whoa! Actually found a good color ;)
    214         return dechex( $new );
     218        return $new;
    215219}
    216220
Note: See TracChangeset for help on using the changeset viewer.