## 第三课时:矩形
以下方法用来绘制矩形。
* `CanvasRenderingContext2D.rect()`:绘制矩形路径。
* `CanvasRenderingContext2D.fillRect()`:填充一个矩形。
* `CanvasRenderingContext2D.strokeRect()`:绘制矩形边框。
* `CanvasRenderingContext2D.clearRect()`:指定矩形区域的像素都变成透明。
上面四个方法的格式都一样,都接受四个参数,分别是矩形左上角的横坐标和纵坐标、矩形的宽和高。
`CanvasRenderingContext2D.rect()`方法用于绘制矩形路径。
```
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.rect(10, 10, 100, 100);
ctx.fill();
```
上面代码绘制一个正方形,左上角坐标为`(10, 10)`,宽和高都为 100。
`CanvasRenderingContext2D.fillRect()`用来向一个矩形区域填充颜色。
~~~
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'green';
ctx.fillRect(10, 10, 100, 100);
~~~
上面代码绘制一个绿色的正方形,左上角坐标为`(10, 10)`,宽和高都为 100。
`CanvasRenderingContext2D.strokeRect()`用来绘制一个矩形区域的边框。
~~~
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.strokeStyle = 'green';
ctx.strokeRect(10, 10, 100, 100);
~~~
上面代码绘制一个绿色的空心正方形,左上角坐标为`(10, 10)`,宽和高都为 100。
`CanvasRenderingContext2D.clearRect()`用于擦除指定矩形区域的像素颜色,等同于把早先的绘制效果都去除。
~~~
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.fillRect(10, 10, 100, 100);
ctx.clearRect(15, 15, 90, 90);
~~~
上面代码先绘制一个 100 x 100 的正方形,然后在它的内部擦除 90 x 90 的区域,等同于形成了一个 5 像素宽度的边框。
- 第一章:音视频
- 第一节:概述
- 第二节:媒体元素
- 第三节:视频元素
- 第四节:音频元素
- 第四节:事件
- 第二章:高德地图
- 第三章:Storage 接口
- 第一节:概述
- 第二节:属性和方法
- 第三节:事件
- 第四章:IndexedDB
- 第一节:概述
- 第二节:基本概念
- 第三节:indexedDB 对象
- 第四节:IDBRequest 对象
- 第五节:IDBDatabase 对象
- 第六节:IDBObjectStore 对象
- 第七节:IDBTransaction 对象
- 第八节:IDBIndex 对象
- 第九节:IDBCursor 对象
- 第十节:IDBKeyRange 对象
- 第十一节:操作流程
- 第五章:Canvas
- 第一节:概述
- 第二节:绘制图像
- 第一课时:路径
- 第二课时:线型
- 第三课时:矩形
- 第四课时:弧线
- 第五课时:文本
- 第六课时:渐变色和图像填充
- 第七课时:阴影
- 第三节:图像处理
- 第一课时:写入图像
- 第二课时:像素读写
- 第三课时:保存和恢复
- 第四课时:画布
- 第五课时:图像变换
- 第四节:元素方法
- 第一课时:toDataURL()
- 第二课时:toBlob()
- 第五节:使用实例
- 第一课时:动画效果
- 第二课时:像素处理