let svg = document.getElementById('svg-number') scaleSVG(svg, 0.05); function scaleSVG(svg, scale=1){ let width = svg.width.baseVal.value; let height = svg.height.baseVal.value; /** * alternative let width = parseFloat(svg.getAttribute('width')); let height = parseFloat(svg.getAttribute('height')); */ svg.setAttribute('width', width*scale) svg.setAttribute('height', height*scale) }
svg{ border: 1px solid red; }
為了得到可計算的值,你可以使用以下兩種方法之一:
let width = svg.width.baseVal.value;
或
let width = parseFloat(svg.getAttribute('width'));
根據我的經驗,像mPdf或DOmPDF這樣的pdf產生器往往難以處理相對的、基於百分比的值。
只要你的縮放計算按預期工作,你可以直接更改svg的寬度和高度屬性:
為了得到可計算的值,你可以使用以下兩種方法之一:
或
第一種方法預設傳回一個數字,並將百分比值轉換為絕對值(基於svg使用者單位)。
後者將剝離所有單位並傳回純數字值。