我有一个颜色选择器,返回的色调值是介于 0 和 1 之间的数字。为了创建色调的变化,我添加 0.2 表示 20%,0.8 表示 80% 等。
我怎样才能让数字绕着圆圈旋转,这样当数字超过 1 时,它会减去 1。我怎样才能使这个数字变成这个数字:1.73540012511 ---> .7354
我尝试使用“美分”javascript(http://www.irt.org/script/6.htm),但这返回的值大于 1:http: //jsfiddle.net/Se9Dn/
我不能使用 Math.min,因为我希望 1.2 变为 .2(不要让颜色在达到 1 时全部变为红色)。
谢谢。:)
编辑: 确认解决方案,添加四舍五入。假设您有一个从 Farbtastic 返回的 HSL 颜色(色相、饱和度、亮度),并且想要以数学方式调整色相:
hslcolor = (.73802938, .59832908, .948987);
colorStep = .2;
newcolor[0] = Math.round ( ((1*colorStep +hslcolor[0])%1)*10000 ) /10000;
当心那些括号在那里非常棘手。