ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で RGB カラー値を 16 進数に変換するにはどうすればよいですか?

JavaScript で RGB カラー値を 16 進数に変換するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-19 10:22:13
オリジナル
913 人が閲覧しました

How Can I Convert RGB Color Values to Hex in JavaScript?

RGB から 16 進カラー値を取得する

提供されている jQuery を使用すると、要素の背景色の RGB 値を取得できます。しかし、代わりに 16 進値が必要な場合はどうすればよいでしょうか?

解決策

RGB 値を 16 進値に変換するには、次の 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 機能の進歩により、rgb2hex のより簡潔で更新されたバージョンは次のとおりです:

const rgb2hex = (rgb) => `#${rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/).slice(1).map(n => parseInt(n, 10).toString(16).padStart(2, '0')).join('')}`
ログイン後にコピー

使用例

これらの機能は次のように利用できます:

console.log(rgb2hex('rgb(0,0,0)')) // '#000000'
console.log(rgb2hex('rgb(255, 255, 255)')) // '#ffffff'
console.log(rgb2hex('rgb(255,0,0)')) // '#ff0000'
console.log(rgb2hex('rgb(38, 170, 90)')) // '#26aa5a'
ログイン後にコピー

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

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