DDR爱好者之家 Design By 杰米
16进制的颜色值通常表示为#FFFFFF,当前也有缩减为#FFF,前提是两位两位必需相同,例如#FEFEFE这种,就不能进行缩减。而RGB的颜色格式是由3组0~255的数字构成,分别代表红(Red)、绿(Green)、蓝(Blue)的色值。
那么,将16进制转换为RGB色值,其实就是分别把#号后面的两位作为一个单位转换成十进制。
代码如下:
/** * 将16进制颜色转换为RGB * author www.jb51.net */ 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{ $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; }
另一种写法
/** * 十六进制转RGB * @param string $color 16进制颜色值 * @return array */ public static function hex2rgb($color) { $hexColor = str_replace('#', '', $color); $lens = strlen($hexColor); if ($lens != 3 && $lens != 6) { return false; } $newcolor = ''; if ($lens == 3) { for ($i = 0; $i < $lens; $i++) { $newcolor .= $hexColor[$i] . $hexColor[$i]; } } else { $newcolor = $hexColor; } $hex = str_split($newcolor, 2); $rgb = []; foreach ($hex as $key => $vls) { $rgb[] = hexdec($vls); } return $rgb; }
RGB颜色和十六进制颜色互转
/** * 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 */ 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 = $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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2025年02月22日
2025年02月22日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]