CSS3-canvas绘制线性渐变
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>canvas绘制线性渐变-高级函数</title>
</head>
<body onLoad="draw('canvas')">
<canvas id="canvas" width="1300" height="500" />
<script type="text/javascript">
function draw(id){
var canvas = document.getElementById(id);
if (canvas == null)
return false;
var context = canvas.getContext('2d');
context.fillStyle = "#f0f0f0";
context.fillRect(0, 0, 1300, 500);/*填充矩形背景色*/
var gl = context.createLinearGradient(0, 0, 1300, 500);/*定义渐变的方向吧,0,0是渐变起点的坐标,300,300是重点的坐标,这样写是一个正方形的对角线渐变。如果是0,0,0,300,则是由上自下的一个垂直渐变*/
gl.addColorStop(0, 'rgb(155, 0, 255)' );/*指定渐变的颜色额,两个值(offset, color)其中,color值可以有fillstyle的四种一样额形式#十六进制、rgb、rgba、英文单词等都可以,而前边的offset值只可以在0-1之间,是指颜色离开渐变点的偏移量。。addColorStop可以不止两个,可以定义很多次,但是,最少有两个,用以定义开始颜色和结束颜色。而且,开始的偏移值必须为0,结束的偏移值必须为1 ,中间的必须在0-1之间*/
<!--另外,createLinearGradient和addColorStop一定是紧接着写的-->
gl.addColorStop(1, 'rgb(255, 0, 255)');
context.fillStyle = gl;/*fillStyle不止填充颜色一种形式,这里呢,填充渐变是另一种形式,还有填充图像和文字等。但是,这个填充渐变,不是直接写的是,而是用一个变量gl代替context.createLinearGradient的形式,然后style再等于变量gl就可以了*/
context.fillRect(0, 0, 1300, 500);/*画出要填充的范围*/
<!--/*---------------------------------------以上为背景的渐变------------------------------------------------*/-->
var g2 = context.createLinearGradient(0, 0, 0, 400);/*这样是垂直的渐变*/
g2.addColorStop(0, 'rgba(154, 255, 0, 0.25)');
g2.addColorStop(0.5, 'rgba(100, 255, 60, 0.35)');
g2.addColorStop(1, 'rgba(60, 255, 173, 0.55)');
for (var i=0; i<10; i++){
context.beginPath();
context.arc(i * 25, i * 25, i * 25, 0, Math.PI * 2, true);
context.closePath();
context.fillStyle = g2;
context.fill();
}
<!--这个效果是先定义一个线性渐变样式,再设置渐变的颜色,这里设置了三个,然后用一个for循环,做出十个圆形,最后填充圆形的样式和颜色-->
}
</script>
</body>
</html>
CSS3-canvas绘制线性渐变的更多相关文章
- 深入理解css3中的线性渐变
css3中的线性渐变 线性渐变公式: background-image: linear-gradient( [ <angle> | <side-or-corner> ]?, & ...
- CSS3中颜色线性渐变实战
css3线性渐变可以设置3个参数值:方向.起始颜色.结束颜色.最简单的模式只需要定义起始颜色和结束颜色,起点.终点和方向默认自元素的顶部到底部.下面举例说明: CSS Code复制内容到剪贴板 .te ...
- Canvas绘制渐变
1.绘制线性渐变 Canvas提供了用于创建线性渐变的函数createLinearGradient(x0,y0,x1,y1),坐标点(x0,y0)是起点 ,(x1,y1)是终点 创建一个渐变色 var ...
- 再说CSS3渐变——线性渐变
渐变背景一直以来在Web页面中都是一种常见的视觉元素.但一直以来,Web设计师都是通过图形软件设计这些渐变效果,然后以图片形式或者背景图片的形式运用到页面中.Web页面上实现的效果,仅从页面的视觉效果 ...
- Canvas使用渐变之-线性渐变详解
在canvas里面,除了使用纯色,我们还能把填充和笔触样式设置为渐变色:线性渐变和径向渐变. 线性渐变 createLinearGradient(x0,y0,x1,y1) 返回 CanvasGrad ...
- CSS3渐变——线性渐变
渐变背景一直以来在Web页面中都是一种常见的视觉元素.但一直以来,Web设计师都是通过图形软件设计这些渐变效果,然后以图片形式或者背景图片的形式运用到页面中.Web页面上实现的效果,仅从页面的视觉效果 ...
- HTML5 Canvas ( 线性渐变, 升级版的星空 ) fillStyle, createLinearGradient, addColorStop
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Canvas 绘制矩形,圆形,不规则图形(线条),渐变等图像效果
绘制矩形: getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. fillStyle 方法将其染成红色,fill ...
- 使用canvas来完成线性渐变和径向渐变的功能
fillStyle的第二种使用情况就是渐变色的填充.渐变色就分为线性渐变色和径向渐变色. 线性渐变:大致分为两步 这里又会使用到canvas的两个新的函数. 第一步 : 使用一个新的函数cre ...
随机推荐
- 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范围 ...
- [HDOJ5445]Food Problem(优先队列优化多重背包)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5445 题意:多重背包 分析:f[i][j]=max(f[i-1][j-k*w[i]]+k*v[i]) 将j ...
- 68 id -显示用户的id
Linux id命令用于显示用户的ID,以及所属群组的ID. id会显示用户以及所属群组的实际与有效ID.若两个ID相同,则仅显示实际ID.若仅指定用户名称,则显示目前用户的ID. 语法 id [-g ...
- python 中的sort 和java中的Collections.sort()函数的使用
x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...
- JavaScript结构三层——思想快速入门
本文版权归博客园和作者吴双本人所有,转载和爬虫请注明原文地址 http://www.cnblogs.com/tdws/,我是博客园蜗牛,我们共同进步. 今天讨论的是什么 如果你的工作中需要写Jav ...
- 由多线程引起的map取值为null的分析
昨天写了一个多线程的程序,却发现了一个很奇特的问题,就是我的map对象明明put了,可是get的时候竟然会取到null,而且尝试多次,有时候成功,有时候取到null,并不确定. 程序代码如下: pub ...
- 【LintCode】链表求和
问题分析: 我们通过遍历两个链表拿到每个位的值,两个值加上前一位进位值(0或者1)模10就是该位的值,除以10就是向高位的进位值(0或者1). 由于两个链表可以不一样长,所以要及时判断,一旦为null ...
- wamp服务下部署禅道或其它项目时访问缓慢的解决办法
原因其实很简单: WAMP服务默认是不支持外网访问的,如果公司内外网在一起就会引起缓慢甚至超时的问题,直接修改WAPM的配置文件让它可以访问外网即可解决问题. 解决的方法/步骤 1.解决办法: ...
- jquery插件-表单验证插件
JQuery 插件概述: 插件(plugin)也被成为扩展,是一种遵循一定规范的应用程序编写出来的程序,JQuery有大量 现成的插件. 一句话,JQuery插件就是别人依照Jquery官方规范写好的 ...
- UOJ264 【NOIP2016】蚯蚓
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...