検索
ホームページバックエンド開発PHPの問題PHPでRGBを16進数に変換する方法

PHPでRGBを16進数に変換する方法

Nov 18, 2021 am 09:46 AM
phprgb16進数

php RGB を 16 進数に変換するメソッド: 1. PHP サンプル ファイルを作成します; 2. 「function RGBToHex($rgb){...}」メソッドを使用して、RGB を 16 進数に変換できます。

PHPでRGBを16進数に変換する方法

#この記事の動作環境:Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

php rgb 変換方法16進法に?

PHP で 16 進カラーと RGB カラー値を変換する方法:

今日は、PHP の 10 色に関する記事を共有します。編集者は、この内容が 16 進カラーと RGB カラー値の変換方法について非常に優れていると考えているので、それを共有したいと思います:

16 進カラー値は通常 #FFFFFF で表されますが、現在は#FFF. にも減算されますが、#FEFEFE のように 2 つの数字が同じでなければならないことが前提となっており、これは減算できません。 RGB カラー形式は、それぞれ赤、緑、青の色の値を表す 0 から 255 までの 3 つの数値グループで構成されます。

つまり、16 進数から RGB カラー値への変換は、実際には # 記号の後の 2 桁を 1 つの単位として 10 進数に変換することになります。

コードは次のとおりです:

/** 
* 将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 カラーと 16 進カラーの変換

/**
   * 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(&#39;0&#39;, &#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;8&#39;, &#39;9&#39;, &#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;);
    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(&#39;&#39;, $ret);
      $item = str_pad($item, 2, &#39;0&#39;, STR_PAD_LEFT);
      $hexColor .= $item;
    }
    return $hexColor;
  }
  /**
   * 十六进制 转 RGB
   */
  function hex2rgb($hexColor) {
    $color = str_replace(&#39;#&#39;, &#39;&#39;, $hexColor);
    if (strlen($color) > 3) {
      $rgb = array(
        &#39;r&#39; => hexdec(substr($color, 0, 2)),
        &#39;g&#39; => hexdec(substr($color, 2, 2)),
        &#39;b&#39; => 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(
        &#39;r&#39; => hexdec($r),
        &#39;g&#39; => hexdec($g),
        &#39;b&#39; => hexdec($b)
      );
    }
    return $rgb;
  }

推奨学習: "

PHP ビデオ チュートリアル >>

以上がPHPでRGBを16進数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール