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;
    }
    ?>
  • 相关阅读:
    终结篇:MyBatis原理深入解析(二)
    Centos7 安装clamav杀毒
    jenkins 自动化部署
    docker 安装redis
    linux CentOS7 安装字体库-转
    docker 安装jenkins
    linux 下安装docker
    linux 下安装redis
    linux 下mongo 基础配置
    Linux下MongoDB安装和配置详解
  • 原文地址:https://www.cnblogs.com/dreamhome/p/3000477.html
Copyright © 2011-2022 走看看