php Hex RGB颜色值互换的使用


Posted in PHP onMay 10, 2013
<?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;
}
?>
PHP 相关文章推荐
浅析linux下apache服务器的配置和管理
Aug 10 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
PHP goto语句简介和使用实例
Mar 11 PHP
PHP Session机制简介及用法
Aug 19 PHP
php轻松实现文件上传功能
Mar 03 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
CI配置多数据库访问的方法
Mar 28 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
php实现登陆模块功能示例
Oct 20 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
基于PHP生成静态页的实现方法
May 10 #PHP
深入PHP数据缓存的使用说明
May 10 #PHP
基于PHP常用函数的用法详解
May 10 #PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 #PHP
PHP 自定义错误处理函数的使用详解
May 10 #PHP
PHP 类相关函数的使用详解
May 10 #PHP
解析PHP缓存函数的使用说明
May 10 #PHP
You might like
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
合作协议书
2014/04/23 职场文书
庆祝儿童节标语
2014/10/09 职场文书
初中教师个人工作总结
2015/02/10 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
公司董事任命书
2015/09/21 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技
宝塔更新Python及Flask项目的部署
2022/04/11 Python