zoukankan      html  css  js  c++  java
  • Hex RGB颜色值互换

    <?php
    echo implode ( ",", HexToRGB ( "#F7F7DA" ) ) . "<br/>";
    echo RGBToHex ( "rgb(247,247,218)" )?>
    <?php
    
    function HexToRGB($colour) {
        if ($colour [0] == '#') {
            $colour = substr ( $colour, 1 );
        }
        if (strlen ( $colour ) == 6) {
            list ( $r, $g, $b ) = array (
                    $colour [0] . $colour [1],
                    $colour [2] . $colour [3],
                    $colour [4] . $colour [5] 
            );
        } elseif (strlen ( $colour ) == 3) {
            list ( $r, $g, $b ) = array (
                    $colour [0] . $colour [0],
                    $colour [1] . $colour [1],
                    $colour [2] . $colour [2] 
            );
        } else {
            return false;
        }
        $r = hexdec ( $r );
        $g = hexdec ( $g );
        $b = hexdec ( $b );
        return array (
                'red' => $r,
                'green' => $g,
                'blue' => $b 
        );
    }
    function RGBToHex($rgb) {
        $regexp = "/^rgb\(([0-9]{0,3})\,\s*([0-9]{0,3})\,\s*([0-9]{0,3})\)/";
        $re = preg_match ( $regexp, $rgb, $match );
        $re = array_shift ( $match );
        $hexColor = "#";
        $hex = array (
                '0',
                '1',
                '2',
                '3',
                '4',
                '5',
                '6',
                '7',
                '8',
                '9',
                'A',
                'B',
                'C',
                'D',
                'E',
                'F' 
        );
        for($i = 0; $i < 3; $i ++) {
            $r = null;
            $c = $match [$i];
            $hexAr = array ();
            
            while ( $c > 16 ) {
                $r = $c % 16;
                $c = ($c / 16) >> 0;
                array_push ( $hexAr, $hex [$r] );
            }
            array_push ( $hexAr, $hex [$c] );
            
            $ret = array_reverse ( $hexAr );
            $item = implode ( '', $ret );
            $item = str_pad ( $item, 2, '0', STR_PAD_LEFT );
            $hexColor .= $item;
        }
        return $hexColor;
    }
    ?>
  • 相关阅读:
    Nhibernate1
    控制反转(IoC)
    Windbg是windows平台上强大的调试器
    Java 7 语法新特性
    区间数据计算
    红黑树数据结构剖析
    .net下灰度模式图像
    如何配置Hyper-V的虚拟机通过主机网络上网 (NAT)
    产品落地
    poj-3898 Software Industry Revolution DP
  • 原文地址:https://www.cnblogs.com/dreamhome/p/3000477.html
Copyright © 2011-2022 走看看