最近在实现https://javascript30.com/的课程,其中有一门课程要求利用Canvas实现一个效果,我发现这个效果其中的颜色是线性生成的。结合我之前已经写过一个随机颜色生成器,就想将这个随机颜色生成器写出来,作为一个工具使用,虽然实际应用场景不大,就当练练手了。

本示例中使用了大量的Generator,在写的过程发现ES6所提供的Generator在这个场景中非常适用。可以参考学习。

本工具已经上传至NPM,详细介绍了使用方法与注意事项,请移步至:random-color-generator2
1.2.0 版本现已支持HSL算法,线性输出更平稳。

随机生成一个颜色


在浏览器中这么使用:

    // 生成随机色const pointer = rcg2.generateColor(false);const color = pointer.next().value;

我的示例中使用了300个颜色块,所以颜色呈现上图效果。

返回线性递增颜色


在浏览器中这么使用:

    // 生成线性色, 步长为5const pointer = rcg2.generateColor(true, 5);const color = pointer.next().value;

我的示例中使用了300个颜色块,所以颜色呈现上图效果。

And (Use HSL algorithm.

随机/线性颜色生成器(RandomColorGenerator)相关推荐

  1. android获取随机颜色_Android编程实现随机生成颜色的方法示例

    本文实例讲述了Android编程实现随机生成颜色的方法.分享给大家供大家参考,具体如下: 网上有个ColorPicker开源项目,选择颜色值.而在这里我想实现的是动态修改一个view的背景色. 开一个 ...

  2. 随机改变颜色返回#+...样式的值

    刚刚发了一篇博文,是讲随机改变颜色的,那个是返回的rgb,后面还可以添加透明度什么的,表示颜色的方式出了rgb还有#+... 这次返回的就是#号开头的样式, 源代码:(需引入jquery.js)git ...

  3. JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换

    /*** 随机生成颜色* @return 随机生成的十六进制颜色 */function randomColor(){var colorStr=Math.floor(Math.random()*0xFF ...

  4. 随机生成颜色和透明度

    随机生成颜色: 想到的比较简单的是: rgba颜色值范围是0-255, 所以单个值为:Math.ceil(Math.random() * 255),生成三个值以后,可以拼起来 eg: rgb(Math ...

  5. java图形界面颜色随机变换,JavaScript实现鼠标移入随机变换颜色

    大家好! 今天分享一个在 JavaScript中,实现一个鼠标移入可以随机变换颜色. /* 这里定义一下div(块元素)已下span 标签的宽.高.边框线以及边框线的颜色*/ span{ displa ...

  6. JS---Math.Random()*10--[0,10)随机变颜色

    <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8" ...

  7. JS黄金分割法实现随机漂亮颜色!

    最近在做一个游戏需要随机生成颜色,用最原始的方法效果是这样的: var bgColor = 'rgb('+Math.random()*255+','+Math.random()*255+','+Mat ...

  8. java满天星随机变颜色_js实现随机div颜色位置 类似满天星效果

    本文实例为大家分享了js实现随机div颜色位置的具体代码,供大家参考,具体内容如下 效果如下: 代码如下: MTX function init(){ randomDiv();//初始的随机 } set ...

  9. 【项目分享】还有谁不服??这款随机表情包生成器征服你!!

    在聊天中,你是否认为自己图库太小?你是否经常斗图?你斗图水平还是青铜水平? 有了它,你就是斗图界王者!!! 大家好,我是孤焰.今天在学校里学到了一个比较有趣的项目--随机表情包生成器,在这里分享给大家 ...

最新文章

  1. 深度学习中7种最优化算法的可视化与理解
  2. WINDOWS和LINUX下带时间的PING包监控脚本
  3. C++ Primer 5th笔记(chap 18 大型程序工具)虚继承
  4. Spring入门 IOC
  5. ubuntu下面的chrome浏览器增加标题栏
  6. 【caffe】 Check failed: error == cudaSuccess (30 vs. 0) unknown error
  7. PostgreSQL per database or per user audit use pg_log_userqueries
  8. 【硬件】存储的RAID技术详解
  9. 用Excel 公式求 金额的差额
  10. 十大排序算法(动画图解)
  11. 蛋白组+代谢组联合分析
  12. MFC 响应Delete按键按下的操作事件
  13. 2015美团校招面试总结
  14. 出现单实例模式毁坏Destroying singletons
  15. Load balancer does not have available server for client: chwl-provider-order
  16. 读《茶树冷胁迫的全局基因表达谱》
  17. 如何在PDF文档中添加手写签名?
  18. 笔记本电脑周边双屏显示方案
  19. win10解决你当前无权访问该文件夹,拒绝你访问该文件夹
  20. vue-router 是什么?它有哪些组件

热门文章

  1. C语言题目地图上有m个城市,序号依次为1,2,3....m,刚开始你在1,若每次只能从当前城市去往当前序号加1或者加3的城市,要到达m城市(m3),有多少种走法
  2. 解决一个I2C读写问题
  3. 漫画-Linux中断子系统综述
  4. 计算机组成原理节拍分为几种,计算机组成原理习题答案第七章
  5. java 提高性能的 容器库_容器隔离性带来的问题--容器化Java应用比虚机启动速度慢...
  6. 笔记本AutoCAD启动时闪退怎么办_戴尔笔记本电脑开不了机如何解决【解决方法】...
  7. LeetCode LCP 28. 采购方案(排序 + 二分查找)
  8. LeetCode 1759. 统计同构子字符串的数目
  9. LeetCode 971. 翻转二叉树以匹配先序遍历(DFS)
  10. 剑指Offer - 面试题43. 1~n整数中1出现的次数(找规律+公式)