gpt4 book ai didi

javascript - 在 tiff img 之上覆盖 Canvas

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:11 29 4
gpt4 key购买 nike

我正在尝试在 tiff 图像上叠加 Canvas 。我必须重叠 Canvas 和 img,因为 tiff 文件不能设置为 Canvas 元素的背景。

我已阅读建议的解决方案 here但是建议的使用 z-index 的解决方案对我不起作用。也许我遗漏了一些东西,因为解决方案链接中的演示已损坏。

我创建了 a jsfiddle我尝试解决方案。然而,无论我如何改变 img 和 Canvas 的位置,它们似乎永远不会重叠;相反,它们并排显示或在彼此上方/下方显示。

<!DOCTYPE html>
<html>
<style>
.img{position:absolute;z-index:1;}

#canvas{
position:relative;
z-index:20;
}
#container{
display:inline-block;
margin: 0 auto;
background: black;
position:relative;
border:5px solid black;
border-radius: 10px;
box-shadow: 0 5px 50px #333}

</style>
<body>

<div id="container" style="height: 100%; overflow:scroll;">
<img id="center_img" onload="makeSquare()" src="http://www.vtk.org/Wiki/images/0/03/VTK_Examples_Baseline_IO_TestReadTIFF.png" />
<canvas id="canvas"
style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
</div>

<script>
function makeSquare(){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0,0,150,75);
}
</script>

</body>
</html>

最佳答案

更新 fiddle :https://jsfiddle.net/505ohh63/3/

重要的部分是在 Canvas 上设置 position: absolute 这样它就可以放在其他东西的顶部,然后用 top:0 把它放在容器的顶部;左:0

makeSquare() 中,如果要在整个图像上绘制内容,还需要更新 Canvas 的 widthheight .

关于javascript - 在 tiff img 之上覆盖 Canvas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443883/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com