CANVAS实现调色板 之 我的第一个随笔
主题代码
<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实现调色板 之 我的第一个随笔的更多相关文章
- 入住cnblogs第一篇随笔 Hello, world!
在网上搜索计算机参考资料时经常看到各位大神的博客,甚是神往.今天我也在这里安家,记录自己的学习过程,也同各位共勉. 第一篇随笔,就用来测试一下这里的文本编辑器吧. //The C language # ...
- 第一篇随笔 - Hello world!
第一篇随笔 - Hello world! 第一篇随笔 - Hello world! 第一篇随笔 - Hello world! 第一篇随笔 - Hello world! 第一篇随笔 - Hello wo ...
- 作为一枚第二天上班的小小.net程序员(技术宅的那种)很迷茫哦,第一个随笔
作为一枚第二天上班的小小.net程序员(技术宅的那种)很迷茫哦,第一个随笔
- Hello World ! 第一篇随笔
Hello World ! 第一篇随笔 /* * Language: C++ * Code Name: Hello World ! * @author Metak */ #include <io ...
- 第一个随笔 Just For Test, Nothing Else
第一个随笔 Just For Test, Nothing Else 注册了第一个博客,希望以后能添加点什么吧
- linux-0.11分析:boot文件 bootsect.s 第一篇随笔
boot文件 bootsect.s 第一篇随笔 参考 [github这个博主的][ https://github.com/sunym1993/flash-linux0.11-talk ] bootse ...
- Spark 3000门徒第一课随笔
昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识: Array本身创建后不可修改ArrayBuffer可修改import s ...
- 新年伊始,.net菜鸟入院的第一篇随笔
学习.net有半年了,大二一年都是微软校园的负责人,但是因为根本没有系统的学习过编程的知识,所以一直都是活动负责人的身份,忙忙碌碌也没有什么收获,大三一狠心就退了,想能够踏踏实实的敲敲代码,手上的学习 ...
- 我的第一个随笔——MarkDown的简单用法!
目录 我的第一个笔记 1. 学习简单的markdown语法 1.1 标题 1.2 引用 1.3 倾斜与加粗 1.4无序列表 1.5有序列表 1.6图片和网页 1.7分割线 1.8代码块 1.9结尾 2 ...
随机推荐
- 浏览器根对象navigator之客户端检测
Navigator的5个主要属性: appName:Web浏览器的名称 appVersion:浏览器的版本号和其他版本信息 userAgent:浏览器在它的USER-AGENT HTTP标题中发送的字 ...
- idapython 开发
调试方法 使用 pydevd 然后在需要调试处加入调试代码 GetOperandValue 作用 参数1: ea 虚拟地址 参数2: 操作数号 返回指令的操作数的被解析过的值 文档 def GetOp ...
- Python这个缩进让我焦头烂额!最奇葩的缩进...
例如如下程序. 运行上面代码,如果输入年龄小于20,将会看到如下运行结果. 从上面代码可以看出,如果输入的年龄大于20,则程序会执行整体缩进的代码块. 再次重复:Python不 ...
- sql 内连接 子查询 合并查询
-- 内连接:-- 显示员工姓名.工资和公司所在地 select e.ename, e.sal, d.dname from emp e,dept d; -- 笛卡尔积 select e.ename, ...
- BASE_DIR 拼接文件路径
# C:/Disk_D/pycharm_stu/macboy/blog/views/tt.py 当前文件绝对路径 BASE_DIR = os.path.dirname(os.path.dirname( ...
- centos7上安装 mysql
centos7上的安装是和其他的版本不一样的 ,因为centos上的安装与centos的操作是不通了的 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装 ...
- [转] iOS文字排版(CoreText)那些事儿
文章转载自 http://www.cocoachina.com/applenews/devnews/2014/0521/8504.html iOS文字排版(CoreText)那些事儿 转自阿毛的蛋疼地 ...
- zendstudio 默认网页打开your project的时候不显示本地主机localhost的解决方法
修改wamp配置文件c:\\wamp64\wampmanager.conf 修改为如下选项即可 默认这个选项是off关闭的,打开即可. urlAddLocalhost = "on" ...
- php面试宝典
1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. 2.session与cookie的区别? 答 ...
- 【转】什么是JavaScript
转自mdn学习网站-什么是JavaScript 什么是JavaScript? 欢迎来到 MDN JavaScript 初学者的课程! 在第一篇文章中,我们将会站在一定的高度来俯看 JavaScript ...