UNPKG

kviewui-uni

Version:

基于UNI-APP框架的多端开发UI组件库,让您的开发效率加倍提升

55 lines (46 loc) 1.46 kB
import Color from 'color'; import colorPalette from './palette'; import getColorString from './utils'; // 暗色色板 // 动态梯度算法 function colorPaletteDark(originColor, i, format) { const lightColor = Color(colorPalette.colorPalette(originColor, 10 - i + 1)); const originBaseColor = Color(originColor); const originBaseHue = originBaseColor.hue(); const originBaseSaturation = originBaseColor.saturationv(); const baseColor = Color({ h: originBaseColor.hue(), s: getNewSaturation(6), v: originBaseColor.value(), }); const baseSaturation = baseColor.saturationv(); const step = Math.ceil((baseSaturation - 9) / 4); const step1to5 = Math.ceil((100 - baseSaturation) / 5); function getNewSaturation(_index) { if (_index < 6) { return baseSaturation + (6 - _index) * step1to5; } if (_index === 6) { if (originBaseHue >= 0 && originBaseHue < 50) { return originBaseSaturation - 15; } if (originBaseHue >= 50 && originBaseHue < 191) { return originBaseSaturation - 20; } if (originBaseHue >= 191 && originBaseHue <= 360) { return originBaseSaturation - 15; } } return baseSaturation - step * (_index - 6); } const retColor = Color({ h: lightColor.hue(), s: getNewSaturation(i), v: lightColor.value(), }); return getColorString.getColorString(retColor, format); } export default { colorPaletteDark, Color }