<?php
/**
 * ColorDistance Überprüfe den Farbabstand von zwei RGB-Werten
 * @version 0.1
 * @author Naden Badalgogtapeh <http://www.naden.de>
 * @copyright Copyright (c) 2009, Naden Badalgogtapeh
 */
class ColorDistance
{
  
/**
   * Wandle einen RGB-Wert in ein Arrray of Integer um
   * @param string $color pointer to rgb string
   */
  
private static function convert( &$color )
  {
    
array_walk$color str_split$color), create_function'&$v''$v = hexdec( $v );' ) );
  }

  
/**
   * Überprüfe den Farbabstand von zwei RGB-Werten
   * @param string $color1
   * @param string $color2
   * @param integer $delta Schwellwert gibt an, ab wann die Kombination nicht mehr lesbar ist
   * @return boolean
   */
  
public static function check$color1$color2$delta 190 )
  {
    
self::convert$color1 );
    
self::convert$color2 );
    
    
$n 0;

    for( 
$k=0$k<=2$k++ )
    {
      
$n += pow$color1$k ] - $color2$k ], );
    }

    return( 
sqrt$n ) > $delta );
  }
}

/*
$color1 = '008FD4';
$color2 = '00ADEF';

var_dump( ColorDistance::check( $color1, $color2 ) );
*/

?>