资讯专栏INFORMATION COLUMN

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

AJie / 1002人阅读

摘要:对给定的两个颜色值进行渐变计算,得到渐变的所有色值的数组。如何计算两个颜色之间的渐变色值知乎计算渐变过渡色将转换为计算每一步的差值计算每一步的值作者你爱谁如鲸向海链接示例计算与之间的渐变色值,步长设定为

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

JavaScript如何计算两个颜色之间的渐变色值? -- 知乎

    // 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);

      // 计算RGB每一步的差值
      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

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

示例:计算 #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.ucloud.cn/yun/103066.html

相关文章

  • Python学习之路14-生成数据

    摘要:小结本篇主要讲述了如何生成数据集以及如何对其进行可视化如何使用创建简单的图表如果使用散点图来探索随机漫步过程如何使用创建直方图,以及如何使用直方图来探索同时掷两个面数不同的骰子的结果。 《Python编程:从入门到实践》笔记。从本篇起将用三篇的篇幅介绍如何用Python进行数据可视化。 1. 前言 从本篇开始,我们将用三篇的篇幅来初步介绍如何使用Python来进行数据可视化操作。本篇的...

    wanglu1209 评论0 收藏0
  • 基于vue的svg进度条组件

    摘要:基于的简单的进度条在线在线是什么是一款基于项目二次开发的组件功能特性零依赖体积小目前支持圆环矩形的进度条配置多满足多样需求持续维护安装使用详细介绍普通模式引入例子详细介绍配置参数进度条类型进度条的初始值 svg-progress-bar 基于Vue.js的简单的svg进度条 showImg(https://segmentfault.com/img/remote/146000001282...

    fasss 评论0 收藏0
  • 使用Canvas操作像素

    摘要:但即使这两件事结合起来,我们也无法直接访问和操纵这些像素。实际上,我们可以从视频本身将图像绘制到,这使我们能够操作和展示这些像素。您甚至可以在不使用图像或视频的情况下即时创建效果 现代浏览器支持通过元素播放视频。大多数浏览器也可以通过MediaDevices.getUserMedia() API访问摄像头。但即使这两件事结合起来,我们也无法直接访问和操纵这些像素。 幸运的是,浏览器有一...

    Lsnsh 评论0 收藏0
  • 使用Canvas操作像素

    摘要:但即使这两件事结合起来,我们也无法直接访问和操纵这些像素。实际上,我们可以从视频本身将图像绘制到,这使我们能够操作和展示这些像素。您甚至可以在不使用图像或视频的情况下即时创建效果 现代浏览器支持通过元素播放视频。大多数浏览器也可以通过MediaDevices.getUserMedia() API访问摄像头。但即使这两件事结合起来,我们也无法直接访问和操纵这些像素。 幸运的是,浏览器有一...

    Nino 评论0 收藏0
  • 使用Canvas操作像素

    摘要:但即使这两件事结合起来,我们也无法直接访问和操纵这些像素。实际上,我们可以从视频本身将图像绘制到,这使我们能够操作和展示这些像素。您甚至可以在不使用图像或视频的情况下即时创建效果 现代浏览器支持通过元素播放视频。大多数浏览器也可以通过MediaDevices.getUserMedia() API访问摄像头。但即使这两件事结合起来,我们也无法直接访问和操纵这些像素。 幸运的是,浏览器有一...

    wenshi11019 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<