获取100%缩放的SVG图像节点的实际屏幕宽度和高度

时间:2019-04-18 13:15:00

标签: javascript jquery html svg

在我的代码中,我有一个HTML嵌入的SVG,其宽度和高度为100%。它包含带有href的单个图像。链接的图像可以是任何大小。要将其缩放到最大屏幕尺寸,我还将其宽度和高度设置为100%。

这很好,只要我只想显示它即可。但是,此SVG应该呈现在服务器上。现在,作为一种解决方法,我使用getBBox来获取SVG的实际大小,并在加载后替换SVG和图像的宽度和高度。可以,但是可以给我图像的外部尺寸。因此,在服务器上,它将所有内容呈现在信箱中。

是否有一种简单的方法来获取图像中包含的图像的实际BBox?

    <svg id="ap-canvas" class="bg-raster" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs">
        <image xlink:href="MYURL" x="0" y="0" width="100%" height="100%" href="MYURL"></image>
        <defs id="SvgjsDefs1006"></defs>
        <rect id="SvgjsRect1008" width="288" height="417" stroke-opacity="0.5" stroke="#00338e" stroke-width="3" fill-opacity="0.5" fill="#8cb5ff" x="392" y="49"></rect>
    </svg>

所以我的想法类似于$('#ap-canvas image').getContainingPictureBBox(),对于1000x500屏幕上的500x500图像,它将返回x = 250,y = 0,宽度= 500,高度= 500。

有一种简单的方法可以实现吗?

0 个答案:

没有答案