PrivateBin\Vizhash16x16::degrade PHP Метод

degrade() приватный Метод

taken from: http://www.supportduweb.com/scripts_tutoriaux-code-source-41-gd-faire-un-degrade-en-php-gd-fonction-degrade-imagerie.html
private degrade ( resource $img, string $direction, array $color1, array $color2 ) : resource
$img resource
$direction string
$color1 array
$color2 array
Результат resource
    private function degrade($img, $direction, $color1, $color2)
    {
        if ($direction == 'h') {
            $size = imagesx($img);
            $sizeinv = imagesy($img);
        } else {
            $size = imagesy($img);
            $sizeinv = imagesx($img);
        }
        $diffs = array(($color2[0] - $color1[0]) / $size, ($color2[1] - $color1[1]) / $size, ($color2[2] - $color1[2]) / $size);
        for ($i = 0; $i < $size; ++$i) {
            $r = $color1[0] + $diffs[0] * $i;
            $g = $color1[1] + $diffs[1] * $i;
            $b = $color1[2] + $diffs[2] * $i;
            if ($direction == 'h') {
                imageline($img, $i, 0, $i, $sizeinv, imagecolorallocate($img, $r, $g, $b));
            } else {
                imageline($img, 0, $i, $sizeinv, $i, imagecolorallocate($img, $r, $g, $b));
            }
        }
        return $img;
    }