HTML5 入门教程
模块十回顾与测验
本教程共 110 篇 · 第 86 篇 · 更新于 2026-07-28 · 约 4 分钟阅读
HTML5HTML5 入门教程CanvasSVG回顾测验
86. 模块十回顾与测验
本节目标:回顾模块十所有知识点,通过测验检验学习成果。
知识回顾
模块十我们学习了两种网页绘图技术:Canvas 和 SVG。
Canvas 核心要点
<canvas>是画布元素,用getContext('2d')获取绘图上下文fillRect、strokeRect、clearRect画矩形beginPath+moveTo+lineTo+fill/stroke画任意路径arc画圆和弧线,角度用弧度fillText和strokeText绘制文字createLinearGradient和createRadialGradient创建渐变translate、rotate、scale进行坐标变换save/restore保存和恢复状态globalCompositeOperation控制图形合成模式
SVG 核心要点
- SVG 是矢量图,用 XML 标签描述图形
rect、circle、ellipse、line、polygon画基本形状path最强大,用d属性描述任意路径- 每个图形都是独立 DOM 节点
- 可以用 CSS 和 JavaScript 操控
Canvas vs SVG
| 对比项 | Canvas | SVG |
|---|---|---|
| 类型 | 位图 | 矢量图 |
| 操控方式 | JavaScript | XML 标签 |
| 缩放 | 会失真 | 不失真 |
| 适合场景 | 游戏、像素操作 | 图标、图表 |
测验
1. 获取 Canvas 2D 绘图上下文的方法是?
A. canvas.getContext('2d')
B. canvas.getContext('2D')
C. canvas.createContext('2d')
D. canvas.get2D()
答案:A
注意 '2d' 是小写。
2. Canvas 坐标系的 Y 轴方向是?
A. 向上递增 B. 向下递增 C. 向左递增 D. 没有固定方向
答案:B
Canvas 原点在左上角,Y 轴向下递增。
3. 以下哪个 SVG 元素可以画任意形状?
A. <rect>
B. <circle>
C. <path>
D. <polygon>
答案:C
path 的 d 属性可以描述任意复杂的路径。
4. Canvas 中,rotate 方法使用什么单位?
A. 角度 B. 弧度 C. 百分比 D. 像素
答案:B
Canvas 的 rotate 使用弧度。Math.PI 等于 180 度。
5. 以下哪个场景更适合用 SVG?
A. 3D 游戏渲染 B. 照片滤镜处理 C. 网站 Logo D. 视频帧处理
答案:C
Logo 需要缩放不失真,SVG 是最佳选择。
下一章预告
模块十一我们将学习 Web 存储与离线技术。localStorage、sessionStorage、IndexedDB 这些浏览器端的存储方案,让你的网页在没有网络时也能工作。