javascript - 如何让 Canvas 覆盖下面的其他 Canvas?
问题描述
我有两个重叠的画布。我在底部画布上画了一条线,并fillRect()
在顶部画布上画了一条线,但即使我设置了 opacity=1,矩形看起来也是透明的。我该怎么做才能使矩形完全覆盖线条?
这是我的代码:
var line_canvas = document.getElementById("line_canvas");
var test_canvas = document.getElementById("test_canvas");
var line_drawmap = line_canvas.getContext("2d");
var test_drawmap = test_canvas.getContext("2d");
line_drawmap.strokeStyle = "#000";
line_drawmap.beginPath();
line_drawmap.moveTo(100, 0);
line_drawmap.lineTo(100, 400);
line_drawmap.stroke();
line_drawmap.beginPath();
line_drawmap.moveTo(250, 0);
line_drawmap.lineTo(250, 400);
line_drawmap.stroke();
test_drawmap.globalAlpha = 1;
test_drawmap.fillStyle = "rgba(100,30,100,1)";
test_drawmap.fillRect(50, 50, 260, 160);
test_drawmap.font = "30px Microsoft YaHei";
test_drawmap.textAlign = "center"
test_drawmap.fillStyle = "#00FFFF";
test_drawmap.fillText("test", 240, 130);
test_drawmap.stroke();
#background {
margin: 0px;
padding: 0px;
width: 100%;
height: 100%
}
#test {
position:relative;
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
}
#line_canvas{
margin: 0px;
padding: 0px;
position:absolute;
left: 0px;
top: 0px;
}
#test_canvas{
margin: 0px;
padding: 0px;
position:absolute;
left: 0px;
top: 0px;
}
<div id="background">
<div id="test">
<canvas id="test_canvas" width="350" height="400" style="border:1px solid #d3d3d3;">err</canvas>
<canvas id="line_canvas" width="350" height="400" style="border:1px solid #d3d3d3;">err</canvas>
</div>
</div>
解决方案
推荐阅读
- docker - Docker for Windows 将 Linux 容器连接到 Windows 主机网络
- r - 使用滞后计算连续值(矢量化而不是 for 循环)
- linux - 如何绕过远程云虚拟机上的“此计算机未启用 VT-X/AMD-v”?
- wordpress - id 改变变量
- sql - 如何根据重复字段中的值更新 BigQuery 中的行
- javascript - 使用 OneNote API 将图片下载到本地系统的问题
- hibernate-search - 使用 hibernate-search 的自定义网桥时出错
- uikit - 为什么水平滑块在 View 中不起作用?
- python-3.x - 如何根据其他三列中的特定值将值从 df1 中的一列复制到 df2?
- javascript - 量角器测试:它是否能够在测试执行期间阻止/冻结 DOM?