HTML5 词条目录
前端Wiki/词条/canvas

canvas

定义HTML5 位图画布元素,用 JavaScript 脚本化绘制图形、动画与游戏

canvas 是「一块可以用 JS 画图的位图区域」:拿到 2D 上下文后,用坐标、路径、样式指令逐帧绘制。它与 SVG 的根本区别是命令式位图——画完的图形不再是对象,改一个像素都要重画,换来的是大量元素时的高性能。

高清屏适配是第一道坎:canvas 的 CSS 尺寸与像素尺寸分离,必须按 devicePixelRatio 放大画布再缩放上下文,否则文字和线条发虚。

JavaScript
const cv = document.getElementById('c');
const ctx = cv.getContext('2d');
const dpr = window.devicePixelRatio || 1;
cv.width = 600 * dpr; cv.height = 300 * dpr;   // 物理像素放大
ctx.scale(dpr, dpr);                          // 逻辑坐标还原

ctx.fillStyle = '#2f81f7';
ctx.fillRect(20, 20, 120, 80);                // 画矩形
⚠ 常见误区
🔗 相关词条本地存储简单动画Web Components事件
← 返回来源章节html5/g1c0s0.html