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 ...
随机推荐
- LAMP创建
httpd yum install httpd -y systemctl status httpd systemctl start httpd systemctl stop firewalld Mar ...
- canvas验证码 - 随机字母数字
基于canvas制作随机生成数字英文组合验证码效果,点击或刷新会自动重组.输入验证码提交验证效果代码. <div class="verification"> <i ...
- iptable防火墙案例
[root@WX020 firewall]# cat /etc/sysconfig/iptables# Firewall configuration written by system-config- ...
- react实例:理解dva构建项目的原理
请点击相应的步骤查看详情 我们首先搭建一个 dva Demo 项目(请参考react快速构建一个应用项目),然后逐步完成以下内容: 结构划分 设计 Model 组件设计方法 组件设计实践 添加 Re ...
- 梯度下降法实现最简单线性回归问题python实现
梯度下降法是非常常见的优化方法,在神经网络的深度学习中更是必会方法,但是直接从深度学习去实现,会比较复杂.本文试图使用梯度下降来优化最简单的LSR线性回归问题,作为进一步学习的基础. import n ...
- Sql语法高级应用之三:存储过程
一.存储过程概述 SQL Server中的存储过程是使用T_SQL编写的代码段.它的目的在于能够方便的从系统表中查询信息,或者完成与更新数据库表相关的管理任务和其他的系统管理任务.T_SQL语句是SQ ...
- webpack+express多页站点开发
学习了webpack门级的教程后,觉得可能是专门为单页应用而量身打造的,比如webpack+react.webpack+vue等,都可以解决各种资源的依赖加载.打包的问题.甚至css都是打包在js里去 ...
- [翻译] MotionBlur
MotionBlur https://github.com/fastred/MotionBlur MotionBlur allows you to add motion blur effect to ...
- SPL 笔记
PHP SPL是指 standard php library,php标准库. SPL提供了一系列的类和接口,使用这些类和接口,我们可以更加高效.优雅的使用php进行程序设计. 从php5.0开 ...
- Kubernetes-dns 服务搭建
DNS 服务不是独立的系统服务,而是一种 addon ,作为插件来安装的,不是 kubernetes 集群必须的(但是非常推荐安装).可以把它看做运行在集群上的应用,只不过这个应用比较特殊而已. DN ...