如何在js里面给body里面设背景色

如何在js里面给body里面设背景色,第1张

1、实现获得rgb颜色方法代码

2、获得到格式如下: rgb(225, 22, 23)然后进行拆分的方法代码。

3、把 (225,22,23)字符串进行拆分的方法代码。

4、最后的组合的方法代码。

5、获得十六进制颜色js方法代码。

6、获得十六进制颜色css样式代码。

/**

    * HSL颜色值转换为RGB.

    * 换算公式改编自 http://en.wikipedia.org/wiki/HSL_color_space.

    * h, s, 和 l 设定在 [0, 1] 之间

    * 返回的 r, g, 和 b 在 [0, 255]之间

    *

    * @param  Number  h      色相

    * @param  Number  s      饱和度

    * @param  Number  l      亮度

    * @return  Array          RGB色值数值

    */

    function hslToRgb(h, s, l){

        var r, g, b

        if(s == 0){

            r = g = b = l// achromatic

        }else{

            var hue2rgb = function hue2rgb(p, q, t){

                if(t <0) t += 1

                if(t >1) t -= 1

                if(t <1/6) return p + (q - p) * 6 * t

                if(t <1/2) return q

                if(t <2/3) return p + (q - p) * (2/3 - t) * 6

                return p

            }

            var q = l <0.5 ? l * (1 + s) : l + s - l * s

            var p = 2 * l - q

            r = hue2rgb(p, q, h + 1/3)

            g = hue2rgb(p, q, h)

            b = hue2rgb(p, q, h - 1/3)

        }

        return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]

    }

    /**

    * RGB 颜色值转换为 HSL.

    * 转换公式参考自 http://en.wikipedia.org/wiki/HSL_color_space.

        * r, g, 和 b 需要在 [0, 255] 范围内

    * 返回的 h, s, 和 l 在 [0, 1] 之间

    *

    * @param  Number  r      红色色值

    * @param  Number  g      绿色色值

    * @param  Number  b      蓝色色值

    * @return  Array          HSL各值数组

    */

    function rgbToHsl(r, g, b){

        r /= 255, g /= 255, b /= 255

        var max = Math.max(r, g, b), min = Math.min(r, g, b)

        var h, s, l = (max + min) / 2

        if(max == min){

            h = s = 0// achromatic

        }else{

            var d = max - min

            s = l >0.5 ? d / (2 - max - min) : d / (max + min)

            switch(max){

                case r: h = (g - b) / d + (g <b ? 6 : 0)break

                case g: h = (b - r) / d + 2break

                case b: h = (r - g) / d + 4break

            }

            h /= 6

        }

        return [Math.floor(h*100), Math.round(s*100), Math.round(l*100)]

    }

原文:https://blog.csdn.net/qq_35321405/article/details/79786977

rgb在js中意思是三原色色彩模式。根据查询相关公开信息显示:RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/7875737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存