HTML5画布(线条、渐变)
绘制直线时,一般会用到moveTo与lineTo两种方法。
案例1:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
function draw(){
var c=document.getElementById("myCanvas");
var cxt= c.getContext("2d");
cxt.moveTo(10,10);
cxt.lineTo(250,100);
cxt.lineTo(10,100);
cxt.stroke();
}
</script>
</head>
<body onload="draw()">
<canvas id="myCanvas" width="300" height="160" style="border: 1px solid #dddddd">您的浏览器不支持</canvas> </body>
</html>
效果图:
注释:
(1)moveTo( x , y );
该方法的作用是将光标移动到指定坐标点,绘制直线的时候以这个坐标点为起点;
(2)lineTo( x , y );
该方法在moveTo方法中指定的直线起点与此参数中指定的直线终点之间绘制一条直线;
绘制线性渐变
案例1:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
function draw(){
var c=document.getElementById("myCanvas");
var cxt= c.getContext("2d");
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#ff0000");
grd.addColorStop(1,"#00ff00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,175,50);
}
</script>
</head>
<body onload="draw()">
<canvas id="myCanvas" width="300" height="100" style="border: 1px solid #dddddd">您的浏览器不支持</canvas> </body>
</html> 效果图:
注释:
(1)cxt.createLinearGradient( xStart , yStart , xEnd , yEnd );
xStart为渐变起始地点的横坐标,yStart为渐变起始地点的纵坐标;xEnd为渐变结束地点的横坐标;yEnd为渐变结束地点的纵坐标。
(2)cxt.addColorStop( offset , color );
该方法可以追加渐变的颜色,因为是渐变,所以至少需要使用两次addColorStop方法以追加两个颜色(开始颜色与结束颜色),可以追加多个颜色,例如“从蓝色渐变到白色,然后渐变到绿色”。蓝色起始点坐标到白色终点坐标之间的距离与白色起始点到绿色终点坐标之间的距离相等,这时蓝色的位移量为0,白色的位移量为0.5,绿色的位移量为1。
offset为所设定的颜色离开渐变起始点的偏移量,参数值是一个范围在0到1之间的浮点值,渐变起始点的偏移量为0,渐变结束点的偏移量为1;color为绘制时使用的颜色;
绘制径向渐变
案例1:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
function draw(){
var c=document.getElementById("myCanvas");
var cxt= c.getContext("2d");
var grd=cxt.createRadialGradient(150,150,0,150,150,100);
grd.addColorStop(0.1,"#ff0000");
grd.addColorStop(1,"#00ff00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,400,300);
}
</script>
</head>
<body onload="draw()">
<canvas id="myCanvas" width="320" height="320" style="border: 1px solid #dddddd">您的浏览器不支持</canvas> </body>
</html> 效果图:注释:
(1)cxt.createRadialGradient( xStart , yStart , radiusStart , xEnd , yEnd , radiusEnd );
该方法使用六个参数,xStart为渐变开始圆的圆心横坐标;yStart为渐变开始圆的圆心纵坐标,radiusStart为开始圆的半径,xEnd为渐变结束圆的圆心横坐标,yEnd为渐变结束圆的圆心纵坐标,radiusEnd为结束圆的半径。
在这个方法中,分别指定了两个圆的大小与位置。从第一个圆的圆心处向外进行扩散渐变,一直扩散到第二个圆的外轮廓处。
(2)在设定颜色时,与线性渐变相同,使用addColorStop方法进行设定即可。同样也需要设定0-1之间的浮点数来作为渐变转折点的偏移量。
HTML5画布(线条、渐变)的更多相关文章
- HTML5的渐变色 渐变的两种类型 createLinearGradient 和createRadialGradient
今天又再看了html5的颜色渐变API,发现没有第一次看那么复杂. 不过我对这个颜色渐变存在着一个疑惑就是两种色带之间,那段是属于两种颜色混合的,有点模糊. 比如从红色变成黄色,在红与黄之间的那个地方 ...
- 关于HTML5画布canvas的功能
一.画布的使用 1.首先创建一个画布(canvas) <canvas id=”myCanvas” width=”200” height=”100” style=”border:1px solid ...
- HTML5画布(CANVAS)速查简表
HTML5画布(CANVAS)速查简表 http://www.webhek.com/misc/html5-canvas-cheat-sheet/
- HTML5画布生成的3D飞船舰队效果
在线演示 本地下载 使用HTML5画布2D来模拟3D的空间效果,生成舰队飞行效果,了解如何开发,请阅读下面代码相关“轻视频”: HTML5画布模拟生成3D的舰队飞行效果
- 使用HTML5画布(canvas)生成阴影效果
来源:GBin1.com 使用HTML5的画布特性,我们可以创建图形,在这片文章中,我们将创建图形的阴影. var canvas = document.getElementById('shadowca ...
- 06. Web大前端时代之:HTML5+CSS3入门系列~HTML5 画布
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 我们先看看画布的魅力: 初始画布 canvas默认是宽3 ...
- HTML5 画布参考
描述 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript). 不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必 ...
- html5画布基础
canvas 元素用于在网页上绘制图形. 什么是canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canva ...
- HTML5画布Canvas
一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...
随机推荐
- haslayout引起的IE6 :hover失效
大家都知道IE6之支持<a>标签的:hover为了,但是通常在做实际效果的时候<a>标签 :hover在IE6下会失效, 看代码: [code="html" ...
- js href的用法
关于js window.location.href location.href parent.location.href top.location.href 的用法 "window.loca ...
- Python中TKinter模块中的Label组件
Python2.7.4 OS—W7x86 1. 简介 Label用于在指定的窗口中显示文本和图像.最终呈现出的Label是由背景和前景叠加构成的内容. Label组件定义函数:Label(m ...
- SPI协议总结
四种工作模式: Mode 0 CPOL=0, CPHA=0 Mode 1 CPOL=0, CPHA=1Mode 2 CPOL=1, CPHA=0 Mode 3 CPOL=1, CPHA=1 常使用Mo ...
- ubuntu下安装phpstrom
安装JAVA环境包1,下载 java 的 JDK 包,去官网下载(http://www.oracle.com/technetwork/java/javase/downloads/index.html) ...
- NOI 2013 书法家
http://uoj.ac/problem/125 我真是日狗了...... 果然还是没有耐心读题,搞到读题读错了2个地方,结果调试了半天...... 言归正传. 动态规划. 这种题目很常见. 我们发 ...
- UBI(unsorted block image )块管理
一.介绍 ubi是unsorted block images的缩写,是由IBM开发设计的,它与ubifs有不同的含义,ubifs是一种文件系统(nokia开发的):而ubi是一种块管理工具,工作在mt ...
- 细说php(六) 数组
一.数组概述 1.1 数组是复合类型 1.2 数组中能够存储随意长度的数据, 也能够存储随意类型的数据 二.数组的类型 2.1 索引数组: 下标是顺序整数作为索引 <?php $user[0] ...
- Android企业级程序完全退出的解决方案
一.问题描述 在平常开发的过程中可以发现,很多开发者对于程序的退出都没有去认真的解决.一般要么是一个简单的finish(只是退出当前的activity),要么是其他的方法,比如: 1.第一种方法:首先 ...
- RMAN连接及简单操作
一.RMAN的进入与退出 1.启动RMAN并连接到本地目标数据库 C:\Users\Administrator>set oracle_sid=orcl(如果只有一个实例,则不需要指定,RMAN会 ...