php method to convert RGB to hexadecimal: 1. Create a PHP sample file; 2. Use the "function RGBToHex($rgb){...}" method to convert RGB to hexadecimal. Can.
The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer
php How to convert rgb to hexadecimal system?
How to convert hexadecimal color and RGB color values in PHP:
Today I will share with you an article about ten colors in PHP The editor thinks the content is quite good on how to convert hexadecimal color and RGB color values. Now I would like to share it with you:
The hexadecimal color value is usually expressed as #FFFFFF, and currently it is also reduced to #FFF. , the premise is that the two digits must be the same, such as #FEFEFE, which cannot be reduced. The RGB color format is composed of three groups of numbers from 0 to 255, which represent the color values of red, green, and blue respectively.
So, converting hexadecimal to RGB color values is actually to convert the two digits after the # sign into decimal as one unit.
The code is as follows:
/** * 将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; }
Another way of writing
/** * 十六进制转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 color and hexadecimal color conversion
/** * 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; }
Recommended learning: "PHP video tutorial》
The above is the detailed content of How to convert rgb to hexadecimal in php. For more information, please follow other related articles on the PHP Chinese website!