如何在 HTML5 畫布上繪製 SVG 檔案?


要在畫布上繪製 SVG,你需要使用 SVG 影像。首先,使用包含 HTML 的 <foreignObject> 元素。之後,你需要將 SVG 影像繪製到畫布中。

示例

你可以嘗試以下程式碼,將 SVG 檔案繪製到 HTML 畫布上

<!DOCTYPE html>
<html>
   <head>
      <title>SVG file on HTML Canvas </title>
   </head>
   <body>
      <canvas id="myCanvas" style="border:2px solid green;" width="300" height="300"></canvas>
      <script>
         var canvas = document.getElementById('myCanvas');
         var ctx = canvas.getContext('2d');
         var data = '<svg xmlns="http://www.w3.org/2000/svg" width="300"
         height="200">' +
            '<foreignObject width="100%" height="100%">' +
               '<div xmlns="http://www.w3.org/1999/xhtml" style="font-size:50px">' +
                  'Simply Easy ' +
                  '<span style="color:blue;">' +
                  'Learning</span>' +
               '</div>' +
            '</foreignObject>' +
         '</svg>';
         var DOMURL = window.URL || window.webkitURL || window;
         var img1 = new Image();
         var svg = new Blob([data], {type: 'image/svg+xml'});
         var url = DOMURL.createObjectURL(svg);
         img1.onload = function() {
            ctx.drawImage(img1, 25, 70);
            DOMURL.revokeObjectURL(url);
         }
         img1.src = url;
      </script>
   </body>
</html>

輸出

更新時間: 2021-12-16

12K+ 瀏覽

開啟你的職業生涯

透過完成課程獲取認證

開始
廣告