绘制矩形

上一节,我们使用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宝典》,欢迎在线阅读,并提出宝贵意见。

HTML5 Canvas中绘制矩形相关推荐

  1. html5绘制矩形动画,HTML5 Canvas中绘制矩形实例

    本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, "The Basic Rectangle Shape". ...

  2. 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图

    一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增,y坐标向下递增. 使用绘图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制 ...

  3. HTML1个像素宽的代码,HTML5 Canvas中绘制一个像素宽的细线实现代码详情

    正统的HTML5 Canvas中如下代码ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); ct ...

  4. html5画椭圆的完整代码,HTML5 Canvas中绘制椭圆的4种方法

    概述 HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结.各种方法各有优缺,视情况选用.各方法的参数相同: 1.context为Canvas的2D绘图环境对象, 2.x ...

  5. html如何画出四个圆圈,HTML5 Canvas中绘制椭圆的4种方法

    概述 HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结.各种方法各有优缺,视情况选用.各方法的参数相同: 1.context为Canvas的2D绘图环境对象, 2.x ...

  6. HTML5 Canvas中绘制贝塞尔曲线

    绘制贝塞尔曲线 贝塞尔曲线于1959年,由法国物理学家与数学家Paul de Casteljau所发明,于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,并用于汽车的车 ...

  7. HTML5 Canvas中 绘制圆弧

    绘制圆弧 圆弧被定义为假想的圆周上任意两点之间的部分.Canvas的API提供了两个绘制圆弧的方法:arc()和arcTo()方法. arc()方法 使用arc()方法绘制圆弧时,假想的圆由圆心和半径 ...

  8. [HTML5 Canvas学习]绘制矩形

    1.使用strokeRect和fillRect方法绘制矩形 a.strokeRect是绘制一个不填充的矩形 b.fillRect是绘制一个填充的矩形 代码: <script>var can ...

  9. HTML5 Canvas中绘制文本

    绘制文本 画布中不仅可以绘制图形,还可以绘制文本.绘制文本,既可以使用填充方法,也可以使用勾勒方法: fillText(text, x, y, [maxWidth]) strokeText(text, ...

最新文章

  1. hbase scan超时设置_如何在优化生产环境的hbase
  2. 【Storage】localStorage 或 sessionStorage 首次加载,需要再次手动刷新页面的解决方案
  3. 通用mapper和分类实现
  4. 做你最后的Administrator
  5. Centos6 import tensorflow遇到的问题
  6. 简单记录 Part1.3
  7. 基于c语言的移动通信调制,π/4-QPSK调制方式及其与GSMK调制方式的比较
  8. 网上开零食店3个月销100万的传奇创业
  9. 网吧计费管理系统(武汉理工大学大一下实验(C语言版源码))
  10. 跟叶子猿学习JVM(二)Java虚拟机内存管理
  11. java计算经纬度距离
  12. PCB走线电感、导线电感、过孔电感 计算公式
  13. 炉石兄弟 修复图腾师问题 by大神beebee102, 还有阴燃电鳗
  14. nuxt坑:This relative module was not found:* ./film.vue?vuetype=styleindex=0id=a3b0cd06lang=scss
  15. c语言数值常量4.5e0,c语言数值常量表示方法问题
  16. 现货黄金的点差费用是怎么收的
  17. 【绝对详细!不好使你顺着网线敲我!】Django3.1在Ubuntu16.04上的部署
  18. 192、如何查询局域网内在线的监控设备IP
  19. Efficient Heterogeneous Collaborative Filtering without Negative Sampling for Recommendation (2020)
  20. php论坛mybb,MyBB

热门文章

  1. 測试AtomicInteger与普通int值在多线程下的递增操作
  2. DefaultIfEmpty
  3. Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析(9)...
  4. Linux中的终端、控制台、tty、pty等概念
  5. Linux学习笔记 文件服务Vsftp详细介绍
  6. 怎么去观察php运行原理,php运行原理如何理解,具体看代码?
  7. Tree树 递归查询,显示成JSON格式
  8. topcoder srm 410 div1
  9. libuv 网络库设计概览译
  10. 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!