点上面关注免费学习前端知识!


矩形是唯一一种可以直接在2D上下文中绘制的形状。与矩形有关的方法包括fillRect() 、 strokeRect() 和 clearRect() 。这三个方法都能接收 4 个参数:矩形的 x 坐标、矩形的 y 坐标、矩形宽度和矩形高度。这些参数的单位都是像素。

首先, fillRect() 方法在画布上绘制的矩形会填充指定的颜色。填充的颜色通过fillStyle 属性指定,比如:

var drawing = document.getElementById(“drawing”);

//确定浏览器支持<canvas>元素

if (drawing.getContext){

var context = drawing.getContext(“2d”);

/*

* 根据Mozilla的文档

* http://developer.mozilla.org/en/docs/Canvas_tutorial:Basic_usage

*/

//绘制红色矩形

context.fillStyle = ”#ff0000”;

context.fillRect(10, 10, 50, 50);

//绘制半透明的蓝色矩形

context.fillStyle = “rgba(0,0,255,0.5)”;

context.fillRect(30, 30, 50, 50);

}

以上代码首先将 fillStyle 设置为红色,然后从(10,10)处开始绘制矩形,矩形的宽和高均为50像素。然后,通过 rgba() 格式再将 fillStyle 设置为半透明的蓝色,在第一个矩形上面绘制第二个矩形。结果就是可以透过蓝色的矩形看到红色的矩形。

strokeRect() 方法在画布上绘制的矩形会使用指定的颜色描边。描边颜色通过strokeStyle 属性指定。

描边线条的宽度由 lineWidth 属性控制,该属性的值可以是任意整数。另外,通过 lineCap 属性可以控制线条末端的形状是平头、圆头还是方头( “butt” 、 “round” 或 “square” ),通过 lineJoin 属性可以控制线条相交的方式是圆交、斜交还是斜接( “round” 、 “bevel” 或 “miter” )。

最后, clearRect() 方法用于清除画布上的矩形区域。本质上,这个方法可以把绘制上下文中的某一矩形区域变透明。通过绘制形状然后再清除指定区域,就可以生成有意思的效果,例如把某个形状切掉一块。

var drawing = document.getElementById(“drawing”);

//确定浏览器支持<canvas>元素

if (drawing.getContext){

var context = drawing.getContext(“2d”);

/*

* 根据Mozilla的文档

* http://developer.mozilla.org/en/docs/Canvas_tutorial:Basic_usage

*/

//绘制红色矩形

context.fillStyle = ”#ff0000”;

context.fillRect(10, 10, 50, 50);

//绘制半透明的蓝色矩形

context.fillStyle = “rgba(0,0,255,0.5)”;

context.fillRect(30, 30, 50, 50);

//在两个矩形重叠的地方清除一个小矩形

context.clearRect(40, 40, 10, 10);

}

两个填充矩形重叠在一起,而重叠的地方又被清除了一个小矩形区域。

推荐阅读《canvas基本用法》《canvas填充描边》

看前端技术文章,就在Web前端精髓

教你用canvas绘制矩形相关推荐

  1. android之canvas绘制矩形

    需求:想实现使用canvas绘制矩形 实现如下: @SuppressLint("AppCompatCustomView") public class MyImageView ext ...

  2. html 绘制矩形,HTML5中使用canvas绘制矩形

    canvas是HTML5中新增的一个元素,使用Canvas可以绘制任何你喜欢的图形.先来认识什么是Canvas? 1.在页面上放置一个canvas元素,就相当于在页面上放置了一块"画布&qu ...

  3. Canvas | 绘制矩形、实心空心圆、三角形、线条

    #Canvas ##基本属性 一个画布在网页中是一个矩形框 默认情况下 canvas 元素没有边框和内容.使用 style 属性来添加边框: canvas 元素本身是没有绘图能力的.所有的绘制工作必须 ...

  4. canvas绘制矩形

    canvas提供了三个API,分别是: 1.绘制一个填充的矩形     fillRect(x, y, width, height) 2.绘制一个矩形的边框     strokeRect(x, y, w ...

  5. 微信小程序canvas绘制矩形

    绘制边框矩形 ctx.beginPath(); //矩形边框 ctx.lineWidth=36 * rpx; //矩形变宽颜色 ctx.strokeStyle="#DBDBDB"; ...

  6. canvas基础-绘制矩形(1)

    1.canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的& ...

  7. html5 Canvas 绘制基本图形 从直线图形到使用路径 - 直线、矩形、路径、多边形、复杂组合图形

    html5: Canvas 绘制基本图形 从绘制直线 到 路径 Jack Lee 的 CSDN 博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.n ...

  8. canvas绘制多个矩形实现热区图功能

    热区图功能: 在运用后台上传一张背景图,在背景图上框选指定区域,配置对应的跳转链接或领券信息 小程序端判断用户点击位置是否在矩形框选范围内,如果在指定范围内,根据后台配置的功能进行页面跳转或领券. 运 ...

  9. Canvas学习:封装Canvas绘制基本图形API

    Canvas学习:封装Canvas绘制基本图形API Canvas Canvas学习 从前面的文章中我们了解到,通过Canvas中的CanvasRenderingContext2D对象中的属性和方法, ...

最新文章

  1. java 字符处理_Java字符串处理实用代码
  2. 轻量级MVVM框架 Stylet
  3. 关于因为该列没有包含在聚合函数或 GROUP BY 子句中
  4. linux sftp远程连接命令
  5. python中如何快速判断一个值是否大于、小于、等于某个值?
  6. QT教程3: 日期和时间的对象操作
  7. 我的python之路(四):列表
  8. web02--jsp数据传递
  9. springMVC3学习(四)--訪问静态文件如js,jpg,css
  10. Unity - Humanoid设置Bip骨骼导入报错
  11. Pikachu实验重现2(Sql的注入)
  12. Spring boot initialization failed for https://start.spring.io
  13. 360手机:360手机刷机 救砖 Twrp、Root、Magisk、360N4S骁龙版、360N5、N5S、N6、N6Lite、N6PRO、N7、N7Lite、N7PRO、Q5、Q5Plus
  14. Android手机“核心科技”---Vibrator(马达)驱动分析
  15. hhkb mac设置_键盘界的Iphone,硬件圈中的贵妇,HHKB键盘介绍及在MAC下的优化设置...
  16. 《面向对象分析与设计》一3.7 例题
  17. 使用AndroidViewModel初始化报错
  18. 2018/2019款 MacBookPro 接口失灵的原因及解决方案
  19. 网游中针对网络延迟的优化
  20. 8.2 Affine independence (仿射无关性)

热门文章

  1. 每位开发人员都应该阅读的优秀源代码,长啥样?
  2. 多希望当年做工程师时我能明白这三个道理!
  3. 从微盟删库事件谈数据修复的技术原理与时效挑战
  4. 5G 是否能让国产手机回到群雄割据时代?
  5. 快速用 Haskell 构建超级简单的 Web 技术栈!
  6. 没有学历文凭,如何成为一名优秀的 Java 程序员?
  7. 吴军:站在浪潮之巅,5G 和 IoT 才是未来 10 年的浪潮 | 人物志
  8. 鲍勃·维德拉:一位硬件工程师的叛逆传奇 | 人物志
  9. 小程序多端框架全面测评 | 程序员硬核评测
  10. 小米回应“海量备货致亏损”;美团饿了么“偷听”?苹果发布新 iPad | 极客头条...