【问题标题】:How to fit SVG into parent object in Fabric.js如何将 SVG 放入 Fabric.js 中的父对象
【发布时间】:2017-08-29 20:01:42
【问题描述】:

如何在 Fabric.js loadSVGFromString 方法中设置 SVG 大小? 我找不到任何适合父对象的解决方案 (groupSVGElements)。还检查了文档,但我只是看到他们总是使用具有 SVG 大小的画布大小。

示例:http://codepen.io/bajzarpa/pen/wJOOdB?editors=1010

【问题讨论】:

    标签: javascript canvas svg fabricjs


    【解决方案1】:

    由于您当前的 SVG 元素不包含任何 widthheight 属性,因此您需要使用 viewBox.baseVal.widthviewBox.baseVal.height 来获取它的 widthheight 并相应地设置它以适应父对象。

    // get the svg's width and height
    let svg = document.querySelector('#testvg');
    let svgWidth = svg.viewBox.baseVal.width;
    let svgHeight = svg.viewBox.baseVal.height;
    
    // set to fit into a parent object (canvas)
    graphic.set({
        top: 5,
        left: 5,
        width: svgWidth,
        height: svgHeight,
        scaleX: (canvas.width - 10) / svgWidth,
        scaleY: (canvas.height - 10) / svgHeight
     });
    

    WORKING DEMO on CodePen

    【讨论】:

    • 我想要的与您的解决方案相反。我想将 SVG 文件缩小为固定大小的画布。抱歉,如果最初的问题不清楚。
    猜你喜欢
    • 2021-11-08
    • 2015-04-02
    • 2013-09-28
    • 2011-01-24
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多