javascript - 调整大小后获取svg图像的实际大小

标签 javascript d3.js svg

我在 svg 标签中有一张图片。 当我更改图像的宽度(或高度)时,高度(或宽度)也会更改以保持比例。 但我无法获取高度(或宽度)的新值。

这里是一个例子: https://plnkr.co/edit/NrovrUKAv8KRGLPdjDpG?p=preview

我们可以看到,虽然宽度和高度都减小了,但只有宽度值发生了变化。 我尝试使用 d3js 获取高度,但值仍然相同。

d3.select("图像").attr("高度")

最佳答案

虽然图像的高度似乎在下降,但实际上不仅仅是它通过更改宽度* 219来自动调整到框架中的传播方式。通过一个简单的示例来了解当尝试将 800*600 图像设置为 1920*768 屏幕中的壁纸时会发生什么情况。检查下图以查看您的图像实际占用了多少屏幕。

enter image description here

如果您确实想调整图片大小,那么您还需要相应地调整高度并重新计算这两个值:

 var height = parseInt(d3.select("image").attr("height"));
    d3.select("image").attr("height", height / 2);

这是一个example .

关于javascript - 调整大小后获取svg图像的实际大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37307868/

相关文章:

javascript - 如何获取 less 文件中定义的颜色的 RGB 值?

html - 我不明白如何使用本地 svg 文件

javascript - D3js 缩放/拖动在我的代码中不再起作用(+代码示例)

javascript - 从 jQuery Document Ready 中访问变量

javascript - 在不破坏功能的情况下打印 c3.js 图表

javascript - d3js onClick 函数无法从上级函数访问变量

d3.js - 如何在 d3 圆形包装中拖动带有子节点的节点?

css - 在矩形上创建阴影并在其顶部创建圆形

javascript - PHP minifiying HTML - 跳过阅读 JavaScript 代码和 CSS?

javascript - 混淆为 [(ngModel)] 不属于 Angular4 中的任何指令类别