答案 0 :(得分:2)
使用合成模式" destination-over"绘制现有内容(来自图像,矢量等)。现有内容提供alpha通道或合成无需工作是必要的。如果没有Alpha通道,您可以convert inverse luma / matte(白色)到alpha通道。
// a quick-n-dirty demo
var ctx = c.getContext("2d");
ctx.lineWidth = 10;
ctx.moveTo(100, 0); ctx.lineTo(150, 150); ctx.stroke();
ctx.fillStyle = "#09f";
// KEY: composite mode -
ctx.globalCompositeOperation = "destination-over";
// draw behind the line
c.onmousemove = function(e) {
ctx.fillRect(e.clientX - 10, e.clientY - 10, 20, 20);
};

body {margin:0}
canvas {border:#777 solid 1px}

<canvas id="c"></canvas>
&#13;
答案 1 :(得分:0)
Here是drawImage
函数的示例。您可以将任何预加载的图像绘制到画布上。您还可以尝试使用<img>
CSS属性将pointer-events: none
叠加层放在画布前面,disable mouse events放置它。