HSB カラーの問題があり、正しい方法で計算する方法がわかりません。
360
との間の色の色相を持って0
います。正しい値を取得するには、モジュロで何かをしなければならないと思いますか?! だから私の問題は、単位の倍数を0から360の間の数値に変換することです.誰かが私を助けてくれますか?-1
0
-1
360
HSB カラーの問題があり、正しい方法で計算する方法がわかりません。
360
との間の色の色相を持って0
います。正しい値を取得するには、モジュロで何かをしなければならないと思いますか?! だから私の問題は、単位の倍数を0から360の間の数値に変換することです.誰かが私を助けてくれますか?-1
0
-1
360
負の色相値は に相当します360 + value
。つまり、-10 は 350 に相当します。その動作を実現するには、次のようにします。
var val = -10; // or whatever your value is
var hue = (val + 360) % 360 // --> 350
これは正の値でも正しく機能します。val = 380 --> hue = 20. +/- 360 より大きい値を扱う場合は、 % 360 を実行する前に720
(または 1080、1440、...) を追加するだけです。360
入力したものは常に 0 から 360 の間の値を返す便利な関数でラップできます。
function adjustHue(val) {
if (val < 0) val += Math.ceil(-val / 360) * 360;
return val % 360;
}