ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で RGB を 16 進カラーコードに変換するには?

JavaScript で RGB を 16 進カラーコードに変換するには?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-10 14:21:11311ブラウズ

How to Convert RGB to Hex Color Codes in JavaScript?

RGB 値から 16 進カラー コードを抽出する

jQuery を使用して要素の背景の RGB 値を取得するだけでは、必ずしも十分とは限りません。これらの値を 16 進数に変換する必要がある場合があります。このコード スニペットは、RGB 値を抽出する方法を示しています。

$('#selector').css('backgroundColor');

私たちの目標は、RGB 値に対応する 16 進値を取得することです。

解決策

TL;DR ソリューションは、RGB と RGBA の両方を処理する簡潔な 1 行関数を提供します形式:

const rgba2hex = (rgba) => `#${rgba.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)$/).slice(1).map((n, i) => (i === 3 ? Math.round(parseFloat(n) * 255) : parseFloat(n)).toString(16).padStart(2, '0').replace('NaN', '')).join('')}`

更新されたソリューション (2021)

最新のブラウザーは ECMAScript 5 および 2015 の機能をサポートするようになり、より洗練されたソリューションが可能になりました:

const rgb2hex = (rgb) => `#${rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/).slice(1).map(n => parseInt(n, 10).toString(16).padStart(2, '0')).join('')}`

この更新された関数により、RGB から 16 進カラーへの変換が簡素化されます。コード。

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

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