JavaScript で RGB を 16 進カラー値に変換する
jQuery 関数 $('#selector').css('backgroundColor') が提供する要素の背景色の RGB 値。代わりに 16 進値を取得する必要がある場合は、包括的な解決策を次に示します。
一行関数 (2021 年更新):
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('')}`
この関数は RGB の両方をサポートします。および RGBA 値。
クロスブラウザーワンライナー (ES5) ):
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 値に対してのみ機能します。
使用例:
console.log(rgb2hex('rgb(255, 255, 255)')); // '#ffffff' console.log(rgb2hex('rgb(0, 0, 0)')); // '#000000'
以上がJavaScript で RGB を 16 進数のカラー値に変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。