Kirki_Color::color_difference PHP Method

color_difference() public static method

A value higher than 500 is recommended for good readability.
public static color_difference ( string $color_1 = '#ffffff', string $color_2 = '#000000' ) : string
$color_1 string The 1st color.
$color_2 string The 2nd color.
return string
        public static function color_difference($color_1 = '#ffffff', $color_2 = '#000000')
        {
            $color_1 = self::sanitize_hex($color_1, false);
            $color_2 = self::sanitize_hex($color_2, false);
            $color_1_rgb = self::get_rgb($color_1);
            $color_2_rgb = self::get_rgb($color_2);
            $r_diff = max($color_1_rgb[0], $color_2_rgb[0]) - min($color_1_rgb[0], $color_2_rgb[0]);
            $g_diff = max($color_1_rgb[1], $color_2_rgb[1]) - min($color_1_rgb[1], $color_2_rgb[1]);
            $b_diff = max($color_1_rgb[2], $color_2_rgb[2]) - min($color_1_rgb[2], $color_2_rgb[2]);
            $color_diff = $r_diff + $g_diff + $b_diff;
            return $color_diff;
        }

Usage Example

コード例 #1
0
ファイル: test-kirki-color.php プロジェクト: yarwalker/ecobyt
 public function test_color_difference()
 {
     $this->assertEquals('0', Kirki_Color::color_difference('fff', '#ffffff'));
     $this->assertEquals('765', Kirki_Color::color_difference('fff', '000'));
     $this->assertEquals('765', Kirki_Color::color_difference('#000000', '#ffffff'));
     $this->assertEquals('522', Kirki_Color::color_difference('#f2f2f2', '#c00'));
     $this->assertEquals('39', Kirki_Color::color_difference('#f2f2f2', '#ffffff'));
 }