PHP -カラー反転


私は色を反転し、まともなコントラストを得るためのアルゴリズムを見つけることができませんでした.
以下の関数は、常にWCAG(AA、AAA)テストを通過しません!
function invertColor($hex) {

        $ihex = \dechex($hex);

        $r = dechex(255 - round(\hexdec(\substr($ihex, 0,2))));
        $g = dechex(255 - round(\hexdec(\substr($ihex, 2,2))));
        $b = dechex(255 - round(\hexdec(\substr($ihex, 4,2))));

        // If the color (rgb) has less than 2 characters, pad with zero
        $padZero = function ($str) {
            return \str_pad($str, 2, 0, \STR_PAD_LEFT);
        };

        // Pad with zero
        return $padZero($r) . $padZero($g) . $padZero($b);

    }