ctx.drawImage(qrCodePath, 150, 486, 450, 450);各个参数的含义
2026-07-21 15:49:21
ctx.drawImage() 是 HTML5 Canvas API 中用于在画布上绘制图像的方法。你提供的代码 ctx.drawImage(qrCodePath, 150, 486, 450, 450); 使用了该方法的 5个参数 形式。
以下是各个参数的具体含义:
参数详解
qrCodePath(image)- 含义:要绘制的图像源。
- 注意:通常这里应该是一个
HTMLImageElement、HTMLCanvasElement、HTMLVideoElement或ImageBitmap对象。如果qrCodePath是一个字符串(URL路径),直接传入通常会报错,你需要先创建一个Image对象并等待其加载完成后再传入。 正确用法示例:
const img = new Image(); img.src = qrCodePath; // 假设这是URL字符串 img.onload = function() { ctx.drawImage(img, 150, 486, 450, 450); };
150(dx)- 含义:目标画布上的 X 轴坐标。
- 作用:图像左上角在画布上的水平位置。表示从画布左边缘向右偏移 150 像素开始绘制。
486(dy)- 含义:目标画布上的 Y 轴坐标。
- 作用:图像左上角在画布上的垂直位置。表示从画布顶边缘向下偏移 486 像素开始绘制。
450(dWidth)- 含义:目标图像在画布上的 宽度。
- 作用:图像将被拉伸或缩放到这个宽度。这里表示绘制后的二维码宽度为 450 像素。
450(dHeight)- 含义:目标图像在画布上的 高度。
- 作用:图像将被拉伸或缩放到这个高度。这里表示绘制后的二维码高度为 450 像素。
总结图示
画布 (Canvas)
(0,0) ---------------------------> X轴
|
| (150, 486) <--- 图像左上角起始位置 (dx, dy)
| +-----------------------+
| | |
| | 二维码图像 | 高度: 450 (dHeight)
| | (被缩放至此大小) |
| | |
| +-----------------------+
| <------ 宽度: 450 ------>
| (dWidth)
|
V Y轴常见变体对比
drawImage 有三种重载形式,你使用的是第二种:
3参数:
drawImage(image, dx, dy)- 按图像原始尺寸绘制在指定位置。
5参数:
drawImage(image, dx, dy, dWidth, dHeight)✅ 你当前使用的- 将图像缩放至指定宽高,绘制在指定位置。
9参数:
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)- 裁剪源图像的一部分(
sx, sy, sWidth, sHeight),然后缩放并绘制到目标位置。
- 裁剪源图像的一部分(
建议
如果你的 qrCodePath 是一个 URL 字符串,请务必确保图像加载完成后再调用 drawImage,否则可能无法显示或报错。
还没有人发表评论