php 16進RGBカラー値の交換の例

WBOY
リリース: 2016-07-25 08:59:36
オリジナル
1122 人が閲覧しました
  1. /**

  2. * 16 進数 RGB カラー値の交換
  3. * bbs.it-home.org を編集
  4. * 2013/5/11 時点
  5. */
  6. function HexToRGB($colour) {
  7. if ($colour [0] == '#') {
  8. $colour = substr ( $colour, 1 );
  9. }
  10. if (strlen ( $colour ) == 6) {
  11. list ( $r, $g, $b ) = array (
  12. $colour [0] . $colour [1] ,
  13. $colour [2] . $colour [3],
  14. $colour [4] . $colour [5]
  15. );
  16. } elseif (strlen ( $colour ) == 3) {
  17. list ( $r, $ g, $b ) = array (
  18. $colour [0] . $colour [0],
  19. $colour [1] . $colour [1],
  20. $colour [2] . $colour [2]
  21. );
  22. } else {
  23. return false;
  24. }
  25. $r = hexdec ( $r );
  26. $g = hexdec ( $g );
  27. $b = hexdec ( $b );
  28. return array (
  29. 'red' => $r,
  30. 'green' => $g,
  31. 'blue' => $b
  32. );
  33. }
  34. function RGBToHex($rgb) {
  35. $regexp = "/^rgb([0-9] {0,3}),s*([0-9]{0,3}),s*([0-9]{0,3}))/";
  36. $re = preg_match ( $regexp, $ rgb, $match );
  37. $re = array_shift ( $match );
  38. $hexColor = "#";
  39. $hex = array (
  40. '0',
  41. '1',
  42. '2',
  43. '3',
  44. '4'、
  45. '5'、
  46. '6'、
  47. '7'、
  48. '8'、
  49. '9'、
  50. 'A'、
  51. 'B'、
  52. 'C'、
  53. 'D'、
  54. 'E',
  55. 'F'
  56. );
  57. for($i = 0; $i $r = null;
  58. $c = $match [$i];
  59. $hexAr = array ();

  60. while ( $c > 16 ) {

  61. $r = $c % 16;
  62. $c = ($c / 16) >> 0;
  63. array_push ( $hexAr, $hex [$r] );
  64. }
  65. array_push ( $hexAr, $hex [$c] );

  66. $ret = array_reverse ( $hexAr ) ;

  67. $item = implode ( '', $ret );
  68. $item = str_pad ( $item, 2, '0', STR_PAD_LEFT );
  69. $hexColor .= $item;
  70. }
  71. return $hexColor;
  72. }< ;/p>
  73. //调用例

  74. echo implode ( ",", HexToRGB ( "#F7F7DA" ) ) 。 "
    ";
  75. echo RGBToHex ( "rgb(247,247,218)" );
  76. ?>

复制發


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート