php中RGB转十六进制、十六进制转RGB

在js调色器中,不同的浏览器获取到的颜色值会不一样,比如ie是十六进制:#FF00FF,而火狐和谷歌浏览器中:rgb(255,255,255)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/**
* RGB转 十六进制
* @param $rgb RGB颜色的字符串 如:rgb(255,255,255);
* @return string 十六进制颜色值 如:#FFFFFF
*/
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;
}
/**
* 十六进制转 RGB
* @param string $hexColor 十六颜色 ,如:#ff00ff
* @return array RGB数组
*/
function hColor2RGB($hexColor) {
    $color str_replace('#'''$hexColor);
    if (strlen($color) > 3) {
    $rgb array(
    'r' => hexdec(substr($color, 0, 2)),
    'g' => hexdec(substr($color, 2, 2)),
    'b' => hexdec(substr($color, 4, 2))
    );
    else {
    $color str_replace('#'''$hexColor);
    $r substr($color, 0, 1) . substr($color, 0, 1);
    $g substr($color, 1, 1) . substr($color, 1, 1);
    $b substr($color, 2, 1) . substr($color, 2, 1);
    $rgb array(
    'r' => hexdec($r),
    'g' => hexdec($g),
    'b' => hexdec($b)
    );
    }
    return $rgb;
}
print_r(RGBToHex("rgb(255,255,255)")); //RGB转 16进制
print_r(hColor2RGB('#ff00ff')); //十六进制转 RGB

代码执行转换结果:

16进制颜色转换为RGB色值,另一种方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
/**
* 16进制颜色转换为RGB色值
* @method hex2rgb
*/
function hex2rgb($hexColor) {
$color str_replace('#'''$hexColor);
if (strlen($color) > 3) {
$rgb array(
'r' => hexdec(substr($color, 0, 2)),
'g' => hexdec(substr($color, 2, 2)),
'b' => hexdec(substr($color, 4, 2))
);
else {
$color str_replace('#'''$hexColor);
$r substr($color, 0, 1) . substr($color, 0, 1);
$g substr($color, 1, 1) . substr($color, 1, 1);
$b substr($color, 2, 1) . substr($color, 2, 1);
$rgb array(
'r' => hexdec($r),
'g' => hexdec($g),
'b' => hexdec($b)
);
}
return $rgb;
}
print_r(hex2rgb("#FFFFFF"));
?>

附:js调色器(js弹出颜色选择框)

本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1217753,如需转载请自行联系原作者

php中RGB转十六进制、十六进制转RGB相关推荐

  1. RGB 色值与十六进制色值互转

    开发中时常遇到色值转换问题,记录下这几行代码,方便自己也方便看到此博客的你. RGB 转 十六进制色值 RGB:分别对应红绿蓝三种色值,每个值的取值范围在 [0,255] 之间的整数. 转换方法: S ...

  2. 微信小程序:更改字体(text)和图标(icon)的颜色以及RGB颜色值与十六进制颜色码之间的转换

    摘要: 有时为了让页面小程序页面显示的字体和图标(icon)和顶部导航栏和底部导航栏的颜色相匹配,就需要设置为相同的颜色. 表示颜色的方法 在微信小程序中,用来表示颜色的方法有3种:关键字.RGB.十 ...

  3. RGB颜色转换十六进制颜色

    RGB颜色转换为十六进制颜色:     十六进制颜色转换为RGB颜色:     十六进制颜色查询 颜   色 英文代码 形象描述 十六进制 RGB   LightPink 浅粉红 #FFB6C1 25 ...

  4. RGB颜色值与十六进制颜色码互相转换代码

    RGB颜色值是我们常用的一种颜色标准,通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色.形如255, 255, 255. 十六进制颜色码就是在软件中设定颜 ...

  5. 关于RGB颜色与十六进制颜色

    文章目录 RGB颜色与十六进制颜色的数值转换 通过QQ或微信的截图工具获取当前屏幕的颜色值 RGB颜色与十六进制颜色的数值转换 先来感受一下两种颜色值的大致形状: RGB(11,111,222) 十六 ...

  6. JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换

    /*** 随机生成颜色* @return 随机生成的十六进制颜色 */function randomColor(){var colorStr=Math.floor(Math.random()*0xFF ...

  7. (三): 十六进制转化为rgb

    封装 // 十六进制转化为rgb export const hexToRgb = hex => {var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d ...

  8. 在线RGB和HEX十六进制颜色互转工具

    在线RGB和HEX十六进制颜色互转工具 在线RGB和HEX十六进制颜色互转工具 本工具支持在线RGB和十六进制颜色互转,请直接修改左边的RGB值,对应的十六进制颜色值会自动改变,或者修改16进制值,R ...

  9. Js 实现颜色值转换_Js 实现十六进制颜色值和RGB颜色值转换整理

    一.Js 实现颜色值转换处理 js实现 十六进制颜色值转RGB颜色值 js实现 RGB颜色值 转 十六进制颜色值 var colorChange = {rgbToHex: function (val) ...

  10. 最让人舒服的11种颜色RGB值和十六进制值

    最让人舒服的11种颜色RGB值和十六进制值 序号 名称 RGB 十六进制 1 豆沙绿 (199, 237, 204) #C7EDCC 2 银河白 (255, 255, 255) #FFFFFF 3 杏 ...

最新文章

  1. Servlet 服务器端小程序
  2. html点击子元素隐藏div,jq 点击div,显示当前div内容,隐藏其他div的子元素
  3. OpenGL Tessellated Triangle镶嵌三角形的实例
  4. .NET系统架构改造的经验和教训
  5. 高中数学40分怎么办_高二数学不会,准高三该怎么办?40分到高考140如何逆袭?...
  6. EBS 多组织访问设置
  7. 网页制作 css样式,网页设计与制作-CSS样式.ppt
  8. 在Linux下判断系统当前是否开启了超线程
  9. vs2005启动不了,手把手教你修复它
  10. [转]100个经典C语言程序(益智类问题)
  11. numpy.loadtxt() 详细用法
  12. 现在公开一个DHT网络爬虫网络爬虫供大家一起交流
  13. ln火线零线_插座怎么接LN线
  14. 邮件服务器lp在哪找,lp地址查询_ip地址查询定位
  15. 深入理解JS的delete
  16. 如何安装imgaug
  17. c语言expand函数,编纂expand(s1,s2)
  18. 关于网站搜索引擎优化技巧,杭州SEO公司清法网络有话说
  19. jackson 空值转成空串输出
  20. NUIST OJ 1350-1352 面朝大海,春暖花开【初识线段树】

热门文章

  1. mysql java datetime_Java向mysql数据库插入datetime类型数据实例(精)
  2. python简单界面实现-python实现的简单窗口倒计时界面实例
  3. Android10.0 开机广播BOOT_COMPLETED发送流程分析
  4. (0064)iOS开发之枚举NS_ENUM和NS_OPTIONS的区别
  5. postman+Newman初步使用
  6. Python selenium根据class定位页面元素,xpath定位
  7. HDOJ 6069 素数筛
  8. 前端分页页码静态部分制作
  9. linq lambda 分组后排序
  10. hdu 1325poj 1308 并查集(未解决)(掌握率50%)