getHexColor(i) { let maxLength = Math.max(...this.weights) - Math.min(...this.weights); let length = Math.abs((Math.min(...this.weights) - this.weights[i])); var i = (length * 255 / maxLength); let r, g, b; if (this.mode === VISUALIZER_MODE.RAINBOW) { r = Math.round(Math.sin(0.024 * i + 0) * 127 + 128); g = Math.round(Math.sin(0.024 * i + 2) * 127 + 128); b = Math.round(Math.sin(0.024 * i + 4) * 127 + 128); } else if (this.mode === VISUALIZER_MODE.GRAY) { r = i; g = i; b = i; } return Jimp.rgbaToInt(r, g, b, 255); }