【发布时间】:2013-04-06 01:29:36
【问题描述】:
我是SVG 的新手,如果这是一个菜鸟问题,我很抱歉。我试图弄清楚如何让图像以引用图像的全宽和高度显示。我正在使用D3.js 来构建一个图表,并且我希望一个徽标出现在角落里。问题是图像href 将使用javascript 设置,因此被引用的图像永远不是固定的宽度或高度。我想要的是图像以全宽和全高显示,而不是放大或缩小。我希望的是能够根据图像的内容自动设置图像的宽度和高度,例如将width 和height 属性设置为auto。然而,这只会导致图像不显示。
d3.select("body")
.append("svg")
.attr('id','mySVG')
.attr({
"width": "100%",
"height": "100%"
})
.attr("viewBox", "0 0 " + width + " " + height )
.attr("preserveAspectRatio", "none");
d3.select('#mySVG')
.append('image')
.attr('image-rendering','optimizeQuality')
.attr('height','auto') <--- This does not work
.attr('width','auto') <--- This does not work
.attr('xlink:href', logoUrl)
.attr('x','0')
.attr('y','0');
如何指定 SVG 图像 width 和 height 必须根据引用的图像大小动态确定?
【问题讨论】:
-
你有什么理由不只使用 img 标签吗?
-
嗨,Wex。你的意思是
htmlimg标签?如果可能的话,我更愿意将解决方案保留在SVG中。想要嵌入在SVG中的图像用于正在构建的图形。