主题代码

 <canvas id="color"></canvas>

 <script>
var color=document.getElementById("color");
var context=color.getContext("2d");
color.height=window.innerHeight;
color.width=window.innerWidth; change=function(r0,g0,b0,r1,g1,b1,start_x,end_x){
var r=r0,g=g0,b=b0;
var cut;//颜色差值
if(r0!=r1){
cut=r1-r0;
}
if(g0!=g1){
cut=g1-g0;
}
if(b0!=b1){
cut=b1-b0;
} //context.fillStyle="rgb("+r0+","+g0+","+b0+")";
//context.fillRect(start_x,300,10,100); var inc=cut/(end_x-start_x);//step
//console.log(inc);
for (var i = 0; i < end_x-start_x; i++){
if(r0!=r1){
r=r+inc;
}
if(g0!=g1){
g=g+inc;
}
if(b0!=b1){
b=b+inc;
} /*效果1*/
// context.fillStyle="rgb("+Math.floor(r)+","+Math.floor(g)+","+Math.floor(b)+")";
// context.fillRect(start_x+i,0,1,100); /*效果2*/
for (var j = 0; j < 100; j++){
// context.fillStyle="rgba("+Math.floor(r)+","+Math.floor(g)+","+Math.floor(b)+","+j/100*Math.random()+")";
context.fillStyle="rgba("+Math.floor(r)+","+Math.floor(g)+","+Math.floor(b)+","+j/800+")";
//console.log(j);
context.fillRect(start_x+i,j*color.height/100,1,(j+1)*color.height/100);
}; //console.log(start_x+i,start_x+i+1);
};
//context.fillRect(end_x,200,10,100);
// console.log(r,g,b);
}
var w=Math.ceil(color.width/6); change(206,11,11,206,11,206,0,w);
change(206,11,206,11,11,206,w,2*w);
change(11,11,206,11,206,206,2*w,3*w);
change(11,206,206,11,206,11,3*w,4*w);
change(11,206,11,206,206,11,4*w,5*w);
change(206,206,11,206,11,11,5*w,6*w); </script>

实现效果一

实现效果二

CANVAS实现调色板 之 我的第一个随笔的更多相关文章

  1. 入住cnblogs第一篇随笔 Hello, world!

    在网上搜索计算机参考资料时经常看到各位大神的博客,甚是神往.今天我也在这里安家,记录自己的学习过程,也同各位共勉. 第一篇随笔,就用来测试一下这里的文本编辑器吧. //The C language # ...

  2. 第一篇随笔 - Hello world!

    第一篇随笔 - Hello world! 第一篇随笔 - Hello world! 第一篇随笔 - Hello world! 第一篇随笔 - Hello world! 第一篇随笔 - Hello wo ...

  3. 作为一枚第二天上班的小小.net程序员(技术宅的那种)很迷茫哦,第一个随笔

    作为一枚第二天上班的小小.net程序员(技术宅的那种)很迷茫哦,第一个随笔

  4. Hello World ! 第一篇随笔

    Hello World ! 第一篇随笔 /* * Language: C++ * Code Name: Hello World ! * @author Metak */ #include <io ...

  5. 第一个随笔 Just For Test, Nothing Else

    第一个随笔 Just For Test, Nothing Else 注册了第一个博客,希望以后能添加点什么吧

  6. linux-0.11分析:boot文件 bootsect.s 第一篇随笔

    boot文件 bootsect.s 第一篇随笔 参考 [github这个博主的][ https://github.com/sunym1993/flash-linux0.11-talk ] bootse ...

  7. Spark 3000门徒第一课随笔

    昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识: Array本身创建后不可修改ArrayBuffer可修改import s ...

  8. 新年伊始,.net菜鸟入院的第一篇随笔

    学习.net有半年了,大二一年都是微软校园的负责人,但是因为根本没有系统的学习过编程的知识,所以一直都是活动负责人的身份,忙忙碌碌也没有什么收获,大三一狠心就退了,想能够踏踏实实的敲敲代码,手上的学习 ...

  9. 我的第一个随笔——MarkDown的简单用法!

    目录 我的第一个笔记 1. 学习简单的markdown语法 1.1 标题 1.2 引用 1.3 倾斜与加粗 1.4无序列表 1.5有序列表 1.6图片和网页 1.7分割线 1.8代码块 1.9结尾 2 ...

随机推荐

  1. cocos2d-x学习笔记--第一天记录

    1.环境安装 http://www.cocos2d-x.org/ ---下载2.2.3--解压 https://www.python.org/ ---2.7.6 系统环境变量 设置安装目录 2创建一个 ...

  2. OpenGL学习--开发环境

    1. VS2017 Professional安装 1.1. 下载 mu_visual_studio_professional_2017_x86_x64_10049787.exe 1.2. 双击开始安装 ...

  3. logminer系列文章一(logminer的使用)

    转自 http://blog.itpub.net/26613085/viewspace-1064008/ 1.安装logminer以及生成logminer数据字典所需要的包(需使用sys用户) [or ...

  4. html的button疑问

    button是可以自动垂直居中的,随便给个高度,它都会自动垂直居中.用控制台查看computed属性里也没有发现和垂直相关的,贴出来希望以后能够了解或有高手看到来解惑小弟:)

  5. Week6——Lifecycle of JSF and Facelets

    一.JSF生命周期 JSF是基于事件驱动.JSF生命周期分为两个主要阶段:执行阶段和渲染阶段. 1.执行阶段 分为六个阶段: 恢复视图阶段 当客户端请求一个JavaServer Faces页面时,Ja ...

  6. 回归JavaScript基础(七)

    主题:引用类型Function的介绍. 今天首先说的就是Function类型.下面就是定义函数的两种方法,第一种使用函数声明语法定义,第二种使用函数表达式定义.这两种定义函数的方式几乎没有什么区别. ...

  7. windows下建立netcore控制台程序,然后传送到centos7下的docker容器里运行

    1.首先,在window下用vs2017开发netcore控制台项目. 2.把建立好的项目传送到centos7下面的容器里. docker cp sharefoldersforwindows/ 359 ...

  8. 无锁HashMap的原理与实现

    转载自: http://coolshell.cn/articles/9703.html 在<疫苗:Java HashMap的死循环>中,我们看到,java.util.HashMap并不能直 ...

  9. Python-Image 基本的图像处理操作

    Python-Image 基本的图像处理操作,有需要的朋友可以参考下. Python 里面最常用的图像操作库是 Image library(PIL),功能上,虽然还不能跟Matlab比较,但是还是比较 ...

  10. Entity Framework 6.X实现记录执行的SQL功能

    Entity Framework在使用时,很多时间操纵的是Model,并没有写sql语句,有时候为了调试或优化等,又需要追踪Entity framework自动生成的sql(最好还能记录起来,方便出错 ...