- 0133技术站
- 联系QQ:18840023
- QQ交流群

- 微信公众号

HTML 5 Canvas
canvas 元素用于在网页上绘制图形
canvas的含义
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
画布是一个矩形区域,您可以控制其每一像素。
canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法
canvas的使用
创建 Canvas 元素
向 HTML5 页面添加 canvas 元素。
<canvas id="myCanvas" width="200" height="100"></canvas>
通过 JavaScript 来绘制
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成
JavaScript 使用 id 来寻找 canvas 元素
var demo=document.getElementById("myCanvas");
然后,创建 context 对象
var cxt=demo.getContext("2d");
getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法
fillStyle 方法是规定颜色,fillRect 方法规定了形状、位置和尺寸
cxt.fillStyle="pink"; cxt.fillRect(0,0,150,75);
坐标解释
fillRect 方法拥有参数 (0,0,150,75)。
意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。
画布的 X 和 Y 坐标用于在画布上对绘画进行定位
<script type="text/javascript"> function cnvs_getCoordinates(e) { x=e.clientX; y=e.clientY; document.getElementById("xycoordinates").innerHTML="Coordinates: (" + x + "," + y + ")"; } function cnvs_clearCoordinates() { document.getElementById("xycoordinates").innerHTML=""; } </script> </head> <body style="margin:0px;"> <div id="coordiv" style="float:left;width:199px;height:99px;border:1px solid #c3c3c3" onmousemove="cnvs_getCoordinates(event)" onmouseout="cnvs_clearCoordinates()"></div>
点击 "运行实例" 按钮查看在线实例
效果图:
用Canvas绘制一个圆形:
<!DOCTYPE HTML> <html> <body> <canvas id="myCanvas" width="300" height="300" style="border:1px solid #c3c3c3;"> </canvas> <script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="pink"; cxt.beginPath(); cxt.arc(140,120,80,0,Math.PI*2,true); cxt.closePath(); cxt.fill(); </script> </body> </html>
点击 "运行实例" 按钮查看在线实例
效果图:
将图像放到Canvas中
<!DOCTYPE HTML> <html> <body> <canvas id="demo" width="200" height="200" style="border:1px solid #c3c3c3;"> </canvas> <img src="images/1.jpg" id="img1"style="width:100px;height: 100px;"> <script type="text/javascript"> var demo=document.getElementById("demo"); var img1=document.getElementById("img1"); var img=demo.getContext("2d"); img1.onload=function(){ img.drawImage(img1,10,10,100,120); } </script> </body> </html>
点击 "运行实例" 按钮查看在线实例
效果图:
推荐手册