js如何计算两个颜色之间的渐变色值?

更新日期: 2019-03-28阅读: 5.7k标签: 渐变

对给定的两个颜色值进行渐变计算,得到渐变的所有色值的数组。 

// rgb to hex
    function rgbToHex(r, g, b){
      var hex = ((r<<16) | (g<<8) | b).toString(16);
      return "#" + new Array(Math.abs(hex.length-7)).join("0") + hex;
    }

    // hex to rgb
    function hexToRgb(hex){
      var rgb = [];
      for(var i=1; i<7; i+=2){
          rgb.push(parseInt("0x" + hex.slice(i,i+2)));
      }
      return rgb;
    }

    // 计算渐变过渡色
    function gradient (startColor,endColor,step){
      // 将 hex 转换为rgb
      var sColor = hexToRgb(startColor),
        eColor = hexToRgb(endColor);

      // 计算R\G\B每一步的差值
      var rStep = (eColor[0] - sColor[0]) / step;
        gStep = (eColor[1] - sColor[1]) / step;
        bStep = (eColor[2] - sColor[2]) / step;

      var gradientColorArr = [];
      for(var i=0;i<step;i++){
        // 计算每一步的hex值
        gradientColorArr.push(rgbToHex(parseInt(rStep*i+sColor[0]),parseInt(gStep*i+sColor[1]),parseInt(bStep*i+sColor[2])));
      }
      return gradientColorArr;
    }

示例:计算 #ec9089 与 #c12927 之间的渐变色值,步长设定为 100 

var startColor = '#ec9089';
    var endColor = '#c12927';
    var step = 100;
    var colorArr = gradient(startColor, endColor, 100);
    
    console.log(colorArr)
    // ["#ec9089", "#eb8e88", "#eb8d87", "#ea8c86", ...]


作者:你爱谁如鲸向海
链接:https://www.zhihu.com/questio


 

 

链接: https://fly63.com/article/detial/2570

漂亮的 css3 渐变色

精选最酷的渐变色调,coolHue有60个最酷的渐变颜色,能复制 CSS3 代码和直接下载背景图片。

css实现内容渐变隐藏效果,手机网页版知乎内容隐藏效果的实现

对内容很长的部分有一个渐变的隐藏的效果,个人觉得这个设计还是很好的,符合手机大小的应用场景,没有一下子显示完全,可以很快的滑倒页面底部,一定程度上减少了滑动时间,用户体验很好,对整个页面有一个大概的预览,强迫症会感觉很爽。

css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变

css3的渐变可以使用2个或者多个指定的颜色之间显示平稳的过渡的效果。这篇文章主要介绍下css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变的方法,以便大家学习参考!

css文字渐变色_css文字颜色渐变的3种实现

在web前端开发过程中,UI设计师经常会设计一些带渐变文字的设计图,在以前我们只能用png的图片来代替文字,今天可以实现使用纯CSS实现渐变文字了。下面就介绍3中实现方式供大家参考!

css3渐变之线性渐变linear-gradient

线性渐变:为了创建一个线性渐变,必须至少定义两种颜色结点。同时,也可以设置一个起点和一个方向(或一个角度)。其共有三个参数:第一个参数表示线性渐变的方向,第二个和第三个参数分别是起点颜色和终点颜色。

css 颜色渐变 兼容性

一开始用 background: linear-gradient(to right, #000,#fff) ,谷歌、360极速模式、火狐、欧朋(都是新版)可以兼容;ie9 不可以兼容。所以为了ie或其他较低版本浏览器兼容:

CSS3 渐变(Gradients)

渐变的效果是由浏览器生成的,渐变的类型主要分为两种:线性渐变(Linear Gradients)和径向渐变(Radial Gradients);线性渐变是一个向上、向下、向左、向右或者对角方向的渐变

CSS3中的渐变效果

渐变是CSS3中比较丰富多彩的一个特性,通过渐变我们可以实现许多绚丽的效果。渐变可分为线性渐变和径向渐变。线性渐变:沿着某条直线朝一个方向产生渐变效果

css文字颜色渐变的3种实现

在web前端开发过程中,UI设计师经常会设计一些带渐变文字的设计图,在以前我们只能用png的图片来代替文字,今天可以实现使用纯css实现渐变文字了

CSS渐变知识

CSS3 渐变使您能够是你的背景颜色在两个或多个颜色之间平滑过渡。早些时候,你必须使用图像实现这些效果。 然而, 通过使用CSS3渐变可以减少下载时间和带宽的使用

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!