<!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绘制线性渐变的更多相关文章

  1. 深入理解css3中的线性渐变

    css3中的线性渐变 线性渐变公式: background-image: linear-gradient( [ <angle> | <side-or-corner> ]?, & ...

  2. CSS3中颜色线性渐变实战

    css3线性渐变可以设置3个参数值:方向.起始颜色.结束颜色.最简单的模式只需要定义起始颜色和结束颜色,起点.终点和方向默认自元素的顶部到底部.下面举例说明: CSS Code复制内容到剪贴板 .te ...

  3. Canvas绘制渐变

    1.绘制线性渐变 Canvas提供了用于创建线性渐变的函数createLinearGradient(x0,y0,x1,y1),坐标点(x0,y0)是起点 ,(x1,y1)是终点 创建一个渐变色 var ...

  4. 再说CSS3渐变——线性渐变

    渐变背景一直以来在Web页面中都是一种常见的视觉元素.但一直以来,Web设计师都是通过图形软件设计这些渐变效果,然后以图片形式或者背景图片的形式运用到页面中.Web页面上实现的效果,仅从页面的视觉效果 ...

  5. Canvas使用渐变之-线性渐变详解

    在canvas里面,除了使用纯色,我们还能把填充和笔触样式设置为渐变色:线性渐变和径向渐变. 线性渐变 createLinearGradient(x0,y0,x1,y1)  返回 CanvasGrad ...

  6. CSS3渐变——线性渐变

    渐变背景一直以来在Web页面中都是一种常见的视觉元素.但一直以来,Web设计师都是通过图形软件设计这些渐变效果,然后以图片形式或者背景图片的形式运用到页面中.Web页面上实现的效果,仅从页面的视觉效果 ...

  7. HTML5 Canvas ( 线性渐变, 升级版的星空 ) fillStyle, createLinearGradient, addColorStop

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

  8. Canvas 绘制矩形,圆形,不规则图形(线条),渐变等图像效果

    绘制矩形: getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. fillStyle 方法将其染成红色,fill ...

  9. 使用canvas来完成线性渐变和径向渐变的功能

    fillStyle的第二种使用情况就是渐变色的填充.渐变色就分为线性渐变色和径向渐变色.   线性渐变:大致分为两步 这里又会使用到canvas的两个新的函数.   第一步 : 使用一个新的函数cre ...

随机推荐

  1. Matlab和simulink数据的保存和读取

    文件的存储 MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入.保存工作区可以通过菜单进行,也可以通过命令窗口进行. 1. 保存整个工作区 选择Fil ...

  2. ElasticSearch入门系列(七)搜索

    一.在之前,我们已经学会了如何使用elasticsearch作为一个简单的NoSql风格的分布式文件存储器--我们可以将一个JSON文档扔给Elasticsearch.也可以根据ID检索他们.但Ela ...

  3. MySQL Workbench使用及教程

    MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具.它是著名的数据库设计工具DBDesigner4的继任者.你可以用MySQL Workbench设计和创建新的数据库图示,建 ...

  4. Linux chkconfig命令

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...

  5. extjs的一些简单动画1

    Ext.Element 类也定义了部分动画函数.我们先来看看Ext.Fx 类中的重要方法. 1.slideIn ( [String anchor], [Object options] ): 功能:滑入 ...

  6. nginx启动、重启、关闭

    一.启动 cd usr/local/nginx/sbin ./nginx 二.重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/ngin ...

  7. 【BZOJ 4518】【SDOI 2016 Round1 Day2 T3】征途

    比较明显的斜率优化DP,省选时因为时间太紧张和斜率DP写得不熟等原因只写了60分的暴力DP,其实当时完全可以对拍来检验标算的正确,但是我当时too naive- 很快打完了,调了将近一晚上QAQ,因为 ...

  8. 【BZOJ 2301】【HAOI 2011】Problem b

    今天才知道莫比乌斯反演还可以这样:$$F(n)=\sum_{n|d}f(d) \Rightarrow f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d)$$我好弱,,,对于$$F( ...

  9. 一个最简单的ftpsever

    没有什么事情可以做,无聊的很 写个最简单的ftp吧---说白了就是一个简单的文件上传.QAQ 思路:client --读取文件的一行 然后发到server端 然后server 读取 写入文件的一行 先 ...

  10. css-让div永远在最底部

    <div class="a"></div> .a{ position:fixed; bottom:0; }