教你用canvas绘制矩形
:点上面关注免费学习前端知识!
矩形是唯一一种可以直接在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绘制矩形相关推荐
- android之canvas绘制矩形
需求:想实现使用canvas绘制矩形 实现如下: @SuppressLint("AppCompatCustomView") public class MyImageView ext ...
- html 绘制矩形,HTML5中使用canvas绘制矩形
canvas是HTML5中新增的一个元素,使用Canvas可以绘制任何你喜欢的图形.先来认识什么是Canvas? 1.在页面上放置一个canvas元素,就相当于在页面上放置了一块"画布&qu ...
- Canvas | 绘制矩形、实心空心圆、三角形、线条
#Canvas ##基本属性 一个画布在网页中是一个矩形框 默认情况下 canvas 元素没有边框和内容.使用 style 属性来添加边框: canvas 元素本身是没有绘图能力的.所有的绘制工作必须 ...
- canvas绘制矩形
canvas提供了三个API,分别是: 1.绘制一个填充的矩形 fillRect(x, y, width, height) 2.绘制一个矩形的边框 strokeRect(x, y, w ...
- 微信小程序canvas绘制矩形
绘制边框矩形 ctx.beginPath(); //矩形边框 ctx.lineWidth=36 * rpx; //矩形变宽颜色 ctx.strokeStyle="#DBDBDB"; ...
- canvas基础-绘制矩形(1)
1.canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的& ...
- html5 Canvas 绘制基本图形 从直线图形到使用路径 - 直线、矩形、路径、多边形、复杂组合图形
html5: Canvas 绘制基本图形 从绘制直线 到 路径 Jack Lee 的 CSDN 博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.n ...
- canvas绘制多个矩形实现热区图功能
热区图功能: 在运用后台上传一张背景图,在背景图上框选指定区域,配置对应的跳转链接或领券信息 小程序端判断用户点击位置是否在矩形框选范围内,如果在指定范围内,根据后台配置的功能进行页面跳转或领券. 运 ...
- Canvas学习:封装Canvas绘制基本图形API
Canvas学习:封装Canvas绘制基本图形API Canvas Canvas学习 从前面的文章中我们了解到,通过Canvas中的CanvasRenderingContext2D对象中的属性和方法, ...
最新文章
- java 字符处理_Java字符串处理实用代码
- 轻量级MVVM框架 Stylet
- 关于因为该列没有包含在聚合函数或 GROUP BY 子句中
- linux sftp远程连接命令
- python中如何快速判断一个值是否大于、小于、等于某个值?
- QT教程3: 日期和时间的对象操作
- 我的python之路(四):列表
- web02--jsp数据传递
- springMVC3学习(四)--訪问静态文件如js,jpg,css
- Unity - Humanoid设置Bip骨骼导入报错
- Pikachu实验重现2(Sql的注入)
- Spring boot initialization failed for https://start.spring.io
- 360手机:360手机刷机 救砖 Twrp、Root、Magisk、360N4S骁龙版、360N5、N5S、N6、N6Lite、N6PRO、N7、N7Lite、N7PRO、Q5、Q5Plus
- Android手机“核心科技”---Vibrator(马达)驱动分析
- hhkb mac设置_键盘界的Iphone,硬件圈中的贵妇,HHKB键盘介绍及在MAC下的优化设置...
- 《面向对象分析与设计》一3.7 例题
- 使用AndroidViewModel初始化报错
- 2018/2019款 MacBookPro 接口失灵的原因及解决方案
- 网游中针对网络延迟的优化
- 8.2 Affine independence (仿射无关性)
热门文章
- 每位开发人员都应该阅读的优秀源代码,长啥样?
- 多希望当年做工程师时我能明白这三个道理!
- 从微盟删库事件谈数据修复的技术原理与时效挑战
- 5G 是否能让国产手机回到群雄割据时代?
- 快速用 Haskell 构建超级简单的 Web 技术栈!
- 没有学历文凭,如何成为一名优秀的 Java 程序员?
- 吴军:站在浪潮之巅,5G 和 IoT 才是未来 10 年的浪潮 | 人物志
- 鲍勃·维德拉:一位硬件工程师的叛逆传奇 | 人物志
- 小程序多端框架全面测评 | 程序员硬核评测
- 小米回应“海量备货致亏损”;美团饿了么“偷听”?苹果发布新 iPad | 极客头条...