Canvas就是一个画布,可以进行任何的线、图形、填充等一系列的操作。

  Canvas的Context对象

 要使用Canvas来绘制图形必须在页面中添加Canvas的标签

 <canvas id="canvasDemo" width="400" height="400">

  <p>请使用支持html5的浏览器查看实例</p>

 </canvas>

 id是必须的,js要用id来那当前的Canvas的Dom对象。通过次Cancas的Dom对象就可以获取它的上下文(Context)。

 <script type="text/javascript">

  var canvasDom = document.getElementById("canvaDemo");

  var context = canvasDom.getContext('2d');

 </script>

 Context上下文默认两种绘制方式:绘制线(stroke)或填充(fill)。

  Canvas绘制步骤:创建HTML页面,设置画布标签。编写js,获取画布dom对象。通过canvas标签的dom对象获取上下文。设置绘制样式、颜色。绘制矩形或填充矩形。

 <body>

  <canvas id="canvasDemo" width="500" height="500">

    <p>请使用支持HMTL5的浏览器查看本实例</p>

  </canvas> 

  <script type="text/javascript">

    var canvasDom = document.getElementById("canvasDemo");

    var context = canvas.getContext('2d');

    context.strokeStyle="red";

    context.stroke.Rect(10,10,190,100);

    context.fillStyle="blue";

    context.fillRect(110,110,100,100);

  </script>

 </body>

  Canvas绘制线条

 Context对象的beginPath方法表示开始绘制路径,moveTo(x,y)方法设置线段的起点,lineTo(x,y)方法设置线段的终点,stroke方法用来给透明的线段着色。moveto和lineto方法可以多次使用。最后,还可以使用closePath方法,自动绘制一条当前点到起点的直线,形成一个封闭图形,省却使用一次lineto方法。

 <body>

  <canvas id="canvasDemo" width="500" height="500" />

  <script type="text/javascript">

    var canvasDom = document.getElementById("canvasDemo");

    var context = canvasDom.getContext("2d");

    context.beginPath();   //开始路径绘制

    context.moveTo(20, 20);  //设置路径起点 坐标为(20, 20)

    context.lineTo(200, 200);  //绘制一条到(200,20)的直线

    context.lineTo(400, 20);

    context.closePath();

    context.lineWidth = 2.0;  //设置线宽

    context.strokeStyle = "#CC0000";   //设置线条颜色

    context.stroke();  //对颜色进行着色,此时线条才可见

  </script>

 </body>

  

  Canvas绘制文本

 Context上下文对象的fillText(string x, y)方法是用来绘制文本。他的三个参数分别为文本内容、起点的x坐标,y坐标。使用之前,需用font设置文本、大小、样式。strokeText方法用来添加空心字。fillText方法不支持文本断行,即所有文本出现在一行。若要生成多行文本,只有调用多次fillText方法。

 <canvas id="canvasDemo" width="500" height="500" />

 <script type="text/javascript">

   var canvas = document.getElementById("canvasDemo");

   var context = canvasDom.getContext("2d");

   context.moveTo(200, 200);

   context.font = "Bold 50px Arial";

   context.textAlign = "left";

   context.fillStyle = "#005600";

   context.fillText("哈哈", 10, 50);

   context.strokeText("blog.itjeek.com", 10, 100);

 </script>

  Canvas绘制图形和椭圆

 Context的arc方法就是绘制原形或椭圆,arc方法的x和y参数是圆心坐标,radius是半径,startAngle和endAnlge则是扇形的起始角度和终止角度,anticlockwise表示做图形时是逆时针(true)还是顺时针(false)。

 <canvas id="canvasDemo" width="500" height="500" />

 <script type="text/javascript">

   var canvasDom =  document.getElementById("canvasDemo");

   var context = canvasDom.getContext("2d");

   context.beginPath();

   context.arc(60, 60, 50 , 0, Math.PI * 2, true);

   context.lineWidth = 2.0;

   context.strokeStyle = "#000";

   context.stroke();

 </script>

  Canvas绘制图片

 <canvas id="canvasdemo" height="500" width="500"  />

 <script type="text/javascript">

  var canvasDom = document.getElementById("canvasDemo");

  var context = canvasDom.getContext("2d");

  var image = new Image();

  image.src = "images/a.png";

  image.onload = function(){

    for(var i = 0 ; i < 10 ; i++){  

      context.drawImage(image, 100+i*80, 100+i*80);

    }

  };

 </script>

Canvas绘图API的更多相关文章

  1. Html5 学习系列(五)Canvas绘图API快速入门(2)

    Canvas绘图API Demos 上一篇文章中,笔者已经给大家演示了怎么快速用Canvas的API绘制一个矩形出来.接下里我会在本文中给各位介绍Canvas的其他API:绘制线条.绘制椭圆.绘制图片 ...

  2. Html5 学习系列(五)Canvas绘图API快速入门(1)

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...

  3. 引言:Canvas绘图API快速入门

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...

  4. canvas绘图API详解

    canvas绘图API详解 1.context的状态 矩阵变换属性 当前剪辑区域 context的其他状态属性: strokeStyle, fillStyle, globalAlpha, lineWi ...

  5. canvas 绘图api的位置问题

    很久没碰canvas了,今天因为canvas绘图的为之问题浪费了一些时间. 我们知道canvas的默认宽高是300X150嘛. 实际使用的时候当然是自定义一个高宽啦. 通常我们会习惯性地在js中通过c ...

  6. 有趣的Javascript:只需一个JS让万恶的IE5、IE6、IE7、IE8全都支持H5原生Canvas绘图(有演示demo)

    该demo支持IE5以上任意内核的浏览器 查看演示demo:支持IE5以上版本的浏览器Canvas绘图demo 补充:chats.js和echarts等图表库也可以使用本方法兼容IE6以上浏览器 1. ...

  7. HTML5 学习总结(四)——canvas绘图、WebGL、SVG

    一.Canvas canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术.<canvas> 标记和 ...

  8. canvas绘图、WebGL、SVG

    目录 一.Canvas 1.1.创建canvas元素 1.2.画线 1.3.绘制矩形 1.4.绘制圆弧 1.5.绘制图像 1.6.绘制文字 1.7.随机颜色与简单动画 二.WebGL 2.1.HTML ...

  9. HTML5 学习笔记(四)——canvas绘图、WebGL、SVG

    一.Canvas canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术.<canvas> 标记和 ...

随机推荐

  1. NSNotification系统通知优化

    最近在github上看到了LRNotificationObserver这个项目,看了一下实现方式,作者通过ARC机制实例化注册对象子类与关联对象的方法来管理注册对象的生命周期.从而省去了系统通知移除的 ...

  2. eclipse 下面的folder,source folder,package的区别与作用

    首先明确一点,folder,source folder,package都是文件夹,既然是文件夹,那么任何的文件都可以往这三种文件夹下面的放.1.他们的区别folder就是普通的文件夹,它和我们wind ...

  3. HTML:表格与表单

    一.图片热点:规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  4. struts2视频学习笔记 19-20(手工编写代码实现所有方法和指定方法校验)

    课时19 对Action中所有方法进行输入校验 1.手工编写代码实现对action中所有方法输入校验 通过重写validate() 方法实现, validate()方法会校验action中所有与exe ...

  5. 转载 网页打印时设置A4大小

    最近开发项目时遇到了网页打印的问题,这是问题之二,打印宽度设置 在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标. 经过我仔细的测试,发现了网页打印中,默认采用 ...

  6. jQuery学习小结1-CSS操作+事件

    一.DOM对象和jQuery 对象互换 1.jQuery对象 就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法.比如: $(&quo ...

  7. Mysql 字符串处理函数

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...

  8. JSP 服务器响应

    Response响应对象主要将JSP容器处理后的结果传回到客户端.可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie.HTTP文件头信息等. 一个典型的响应看起来就像下面 ...

  9. 小记:利用递归调用循环寻找MP3文件的方法。

    private void findMp3Data(File mp3file) { File[] filelist = mp3file.listFiles(); if (filelist != null ...

  10. CSS最常用和实用的技巧

    1.重置浏览器的字体大小重置浏览器的默认值 ,然后重设浏览器的字体大小你可以使用雅虎的用户界面重置的CSS方案 ,如果你不想下载9MB的文件,代码如下: body,div,dl,dt,dd,ul,ol ...