2016-08-15 97 views
0

有没有办法获得加载svg的宽高比?我希望能够知道进入preserveAspectRatio属性的缩放比例。所述documentation指出,对于meet如何获得SVG的宽高比?

  • 长宽比保留
  • 整个视框是视
  • 视框被按比例放大尽可能内可见的,同时仍满足其他 标准

有没有办法检索属性不知何故知道JS的纵横比?

+1

是否有可能提供您正在开发的html/js代码的示例?请参阅[我如何提出一个好问题](http://stackoverflow.com/help/how-to-ask) - “帮助其他人重现问题”部分。否则很多事情都不太清楚。我想这阻止了人们回答。例如,问题中“svg”的含义是什么?这是一个SVG标签吗?或者通过标签加载的svg格式的图像。或者是其他东西?所以上下文会很棒。 –

+1

感谢您的反馈。我能够在这里找到我的答案,这本质上是相同的问题:http://stackoverflow.com/questions/29798288/retrieving-the-aspect-ratio-of-an-svg-image – poliu2s

+1

这不是一个重复的[ *“检索svg 的宽高比”*](/ q/29798288),并且应该没有像这样关闭。这个问题是关于由其viewBox属性确定的SVG的宽高比,而链接的问题是关于SVG中的''元素的尺寸/宽高比。这些是完全不同的问题。 – altocumulus

回答

2

这是相当容易得到视框的值,就像在描述Phrogz” answer"Obtaining an original SVG viewBox via javascript"

var svg = document.querySelector('svg'); 
var box = svg.viewBox.baseVal; 

充分利用了纵横比仅需要简单的数学:

var aspectRatio = box.width/box.height; 
+0

这是不正确的。宽高比只是“box.width/box.height”。 –

+0

@PaulLeBeau你说得对,谢谢你的提示!对我很耻辱,我应该知道更好,因为我已经无数次将四个viewBox值解释为t/l和b/r角的坐标。 – altocumulus

相关问题