Colors 如何根据输入距离计算选定颜色的色调、饱和度和亮度值
给定一个起始十六进制代码,我想知道以升序和降序计算亮度线性值的数学方法。色调和饱和度相同 我很难准确地描述我想要什么,因为我发现这一页使用了我需要的精确算法: 如果您查看页面,您会注意到最后3个重拨按钮的内容为:按色调线性、按饱和度线性、按亮度线性。每个,以升序向您提供与原始十六进制代码相对应的十六进制代码列表 例如,对于亮度,他们给出了以下列表(来自颜色FFCE2E): FFCE2E FFDA61 FF694 FFF2C7 FFFEFA 我需要公式Colors 如何根据输入距离计算选定颜色的色调、饱和度和亮度值,colors,formulas,hsl,Colors,Formulas,Hsl,给定一个起始十六进制代码,我想知道以升序和降序计算亮度线性值的数学方法。色调和饱和度相同 我很难准确地描述我想要什么,因为我发现这一页使用了我需要的精确算法: 如果您查看页面,您会注意到最后3个重拨按钮的内容为:按色调线性、按饱和度线性、按亮度线性。每个,以升序向您提供与原始十六进制代码相对应的十六进制代码列表 例如,对于亮度,他们给出了以下列表(来自颜色FFCE2E): FFCE2E FFDA61 FF694 FFF2C7 FFFEFA 我需要公式 提前感谢。您可以从多个地方将其混合在一起。
提前感谢。您可以从多个地方将其混合在一起。简而言之,您需要:
//我将从中使用rgbToHsl和hslToRgbhttps://stackoverflow.com/questions/2353211/hsl-to-rgb-color-conversion
var initialRGB=[ir,ig,ib];
var initialHSL=rgbToHsl(initialRGB[0],initialRGB[1],initialRGB[2]);
var howManyVariants=4;
var递减率=0.1;//10%
//此示例适用于色调更改
var递减=初始HSL[0]*递减百分比;
对于(变量i=0;i
希望这是清楚的。这个问题在
// I gonna use rgbToHsl and hslToRgb from https://stackoverflow.com/questions/2353211/hsl-to-rgb-color-conversion
var initialRGB = [ir, ig, ib];
var initialHSL = rgbToHsl(initialRGB[0], initialRGB[1], initialRGB[2]);
var howManyVariants = 4;
var decrementPercent = 0.1; // 10%
// This example is for hue change
var decrement = initialHSL[0] * decrementPercent;
for (var i = 0; i < howManyVariants; i++) {
// Linear decrementation
var nextHue = initialHSL[0] - i * decrement;
var nextColor = hslToRgb(nextHue, initialHSL[1], initialHSL[2]);
// visualize somehow
}