HTML5 Canvas中绘制矩形

绘制矩形

上一节,我们使用lineTo()方法绘制一个封闭的矩形。其实,canvas的API提供了rect()方法可以绘制矩形。rect()方法是路径方法,它会把指定的矩形添加到当前路径的子路径中。它只添加路径,绘制图形还是由stroke()或fill()方法完成。

除了rect()方法之外,Canvas 的API还提供了三个直接处理矩形的方法:

  • fillRect(x, y, width, height)
  • strokeRect(x, y, width, height)
  • clearRect (x, y, width, height)

这三个方法用来处理以(x, y)为左上角、宽度为width、高度为height的矩形区域,它们直接用来处理画布上内容的,并且都不是路径方法,都不影响当前路径及路径中的当前点。

fillRect()方法填充矩形区域;strokeRect()方法勾勒矩形边框;clearRect()方法清除矩形区域内的所有内容,并将它恢复到初始状态,即透明色。调用clearRect()方法时,可以把widht和height设置成跟画布相同的尺寸,用来清除整个画布上的内容。

以下代码将使用strokeRect()方法来绘制左侧的矩形,使用fillRect ()方法绘制右侧的矩形,当用户点击“清除画布”按钮时,调用clearRect()方法清除整个画布的内容。代码如下:

 
  1. <button id="clearMe">清除画布</button>
  2. <canvas id="canvas" width="400" height="140"></canvas>
 
  1. function drawRect() {
  2.   var canvas  = document.getElementById("canvas");
  3.   var context = canvas.getContext('2d');
  4.   var clearMe = document.getElementById("clearMe");    
  5.   context.strokeRect(50, 20, 120, 100);
  6.   context.fillRect(220, 20, 120, 100);
  7.   clearMe.onclick = function() {
  8.     context.clearRect(0, 0, canvas.width, canvas.height);
  9.   }
  10. }

运行结果如图 4‑6 所示:

绘制矩形图4-6 绘制矩形

关于作者

歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》,并全部在GitHub 上开源。

版权声明:本文出自 歪脖网 的《HTML宝典》,欢迎在线阅读,并提出宝贵意见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值