Javascript Can';在画布上分层时,不要更改Firefox中SVG的高度和宽度
目标:在画布上分层的SVG,当PDF呈现到画布上时,两者都会改变大小 问题:画布正确调整大小并显示PDF,但在inspector中检查时,SVG的宽度始终为零,高度始终为零 注意:当我将JPG直接渲染到包含SVG的元素中时,这一切都起到了作用,但是当我切换到将PDF渲染为图像时,我必须使用画布 HTML: javascript正确地打开PDF并在画布中呈现它,但无论我在元素检查器中查看SVG时尝试了什么,它的宽度和高度都为零。我试着将它的宽度和高度设置为100%。我尝试在设置画布维度的同时显式设置其维度,即: var viewport=page.getViewport(比例)Javascript Can';在画布上分层时,不要更改Firefox中SVG的高度和宽度,javascript,firefox,svg,layer,Javascript,Firefox,Svg,Layer,目标:在画布上分层的SVG,当PDF呈现到画布上时,两者都会改变大小 问题:画布正确调整大小并显示PDF,但在inspector中检查时,SVG的宽度始终为零,高度始终为零 注意:当我将JPG直接渲染到包含SVG的元素中时,这一切都起到了作用,但是当我切换到将PDF渲染为图像时,我必须使用画布 HTML: javascript正确地打开PDF并在画布中呈现它,但无论我在元素检查器中查看SVG时尝试了什么,它的宽度和高度都为零。我试着将它的宽度和高度设置为100%。我尝试在设置画布维度的同时显式设
我尝试将svg放在画布之前,将其嵌套在画布中……没有效果 它是一个HTML元素,当您使用普通的
overlay.setAttribute(“width”,canvas.width+“px”)时会发生什么代码>和同等高度?好的,我试过了,它揭示了更多的线索。inspector中的html现在显示正确的维度,但长方体模型仍然显示0x0。所以我把覆盖层变成了红色(它是透明的),果然它出现了……但是我的D3图形都没有出现在里面。我现在必须回去看看另一个版本是否正在调整它的大小。为了将来参考,最好提及(最好通过代码)您正在使用的库。在本例中,将html文档从
显示到
可能会有所帮助,因为这会显示您使用的是d3.js,也可能是pdf.js或类似文件。
<body>
<canvas id="pdfcanvas"></canvas>
<svg id="overlay"></svg>
<input type='file' multiple='false', onchange='loadPDF(this)'></input>
</body>
#pdfcanvas {
position:relative;
z-index:1;
}
#overlay {
position:relative;
z-index:2;
}
var canvas = document.getElementById('pdfcanvas');
canvas.height = viewport.height;
canvas.width = viewport.width;
var overlay = document.getElementById('overlay');
overlay.height = viewport.height;
overlay.width = viewport.width;