javascript - 将 svg 缩放到父容器

标签 javascript svg svg.js

我正在使用 svg.js 像 Canvas 一样在上面画线。是否可以将通过调用 SVG() 创建的 svg 元素缩放到父元素的大小?截至目前,我只是在元素调整大小时重新绘制所有线条。

<div
  ref={r => this.whiteboard = r}
  id="whiteboard"
  >
</div>
{...}
let { offsetWidth: width, offsetHeight: height } = this.whiteboard;
this.draw = SVG('whiteboard').size(width, height);

我正在使用 React,我知道它很难与 svg.js 混合,但那是另一个话题了。

最佳答案

使用SVG.ViewBox

http://svgjs.dev/geometry/#svg-viewbox

例如,类似:

this.draw = SVG('whiteboard').size(width, height).viewbox(0,0,500,300);

您传递的实际值将取决于您正在绘制的内容以及它在 Canvas 上的位置。 viewBox() 参数为:minX、minY、宽度和高度。

关于javascript - 将 svg 缩放到父容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49380865/

相关文章:

html - 向 svg 中的剪切元素添加过滤器(合并 ClipPath 和过滤器元素)

javascript - svg.js - 如何从 SVG 文本元素获取 X 位置

html - 如何剪辑 SVG 图?

javascript - 单击链接时删除子组件

javascript - 是否有理由在事件处理后移除 EventListener DOMContentLoaded?

javascript - SVG、jQuery 和 Internet Explorer

javascript - 在 node.js 服务器上更改 svg 中文本元素的内容

javascript - jQuery UI .sortable() 与 jQuery 1.2.x

javascript - 如何用更少的代码解释时间?

javascript - 如何按州和行/列在气泡图中定位气泡