Googleパレットは単色です。同じRGB比を維持して、明度と彩度を上下にシフトします。これを行うには、RGB値をHSL表現(色相、彩度、明度)に変換し、明度と彩度を変更してから、必要に応じて元に戻す必要があります。計算中にRGB空間に保持することは可能ですが、数学はわかりにくいです(私が理解したり説明したりするには)。HSLは、従来の色混合用に作成されました(考えやすくなっています)。
CSSパレットを作成することが目的の場合は、を使用してHSLの色を維持できますbackground-color: hsl(0,100%, 50%);
。
カラーピッカーを使用して、Photoshopでこれを手動で行うことができます。HSBは、Hue Saturation Brightness(HSLと同義、同じこと)用です。好みの色相を選択し、彩度と明るさを一定の値で変更します。S = 54およびB = 77の下の画像では、54 + 54 * 0.05
とを使用して5%シフトアップし77 + 77 * 0.05
ます。またはシフトダウンするS - S * 0.05
16進数とRGBを明確にするための補足事項。6桁の16進数#FFEB3Bは、実際にはRGBを表す3つの個別の数字です。
#FFEB3B -> FF,EB,3B -> red:FF green:EB blue:3B
HEX値を10進数に変換すると、が得られますred:255 green:235 blue:59 OR rgb(255,235,59)
。
ウィキペディアで RGBを本当に必要とする場合、RGBをHSLに変換するアルゴリズムがありますが、最も簡単な方法はカラーライブラリを使用することです。この例では、please.jsを使用して単色パレットを作成しますが、補完的なパレットまたは快適なパレットを作成するためのその他のアルゴリズムもあります。kuler.adobeによく似ています。
Please.make_scheme(
Please.HEX_to_HSV('#ffeb3b'),
{scheme_type: 'mono', format:'hex'}
);
// returns ->["#ffeb3b", "#ffe821", "#ffe508", "#e5d54c"]