Web前端技术 · 第 5 课预测 · 验证 · 解释
代码实验

矩形的后两个参数是宽和高

fillRect(x, y, width, height) 从给定位置绘制矩形。默认坐标系的 x 向右增大、y 向下增大,后两个参数不是右下角坐标。

先判断

先不运行:这段代码画出的矩形,其右下角位于哪一点?

<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>黄梅戏海报色块</title>
</head>
<body>
  <canvas id="poster" width="240" height="160"
    style="max-width:100%;border:1px solid">海报色块</canvas>
  <script>
    const canvas = document.querySelector('#poster');
    const ctx = canvas.getContext('2d');
    ctx.fillStyle = 'teal';
    ctx.fillRect(40, 30, 120, 60);
  </script>
</body>
</html>

再改一个条件

展开答案与分析

B。左上角是 (40,30),宽为120,高为60,所以右、下边界分别为160和90。用“位置+大小”描述时,移动可以只改位置而保留宽高。本例没有缩放或平移绘图坐标系。

观察位置:看左边距变化,以及矩形的宽高是否改变。