首頁  >  文章  >  web前端  >  SVG和HTML5 Canvas有什麼區別?

SVG和HTML5 Canvas有什麼區別?

PHPz
PHPz轉載
2023-09-18 22:49:021105瀏覽

SVG和HTML5 Canvas之间有什么区别?

HTML 元素是 SVG 圖形的容器。 SVG 代表可縮放向量圖形。 SVG 對於定義圖形(如框、圓、文字等)很有用。 SVG 代表可縮放向量圖形,是一種以 XML 描述 2D 圖形和圖形應用程式的語言,然後由 SVG 檢視器呈現 XML。大多數 Web 瀏覽器都可以顯示 SVG,就像可以顯示 PNG、GIF 和 JPG 一樣。

HTML 元素用於透過 JavaScript 繪製圖形。 元素是圖形容器。

SVG

HTML 畫布

SVG 具有更好的可擴展性。因此可以在任何解析度下高品質列印

Canvas的擴充性較差。因此,它不適合以較高解析度進行列印

SVG 對於較少數量的物件或較大的表面。

Canvas 在較小的表面或較大數量的物件上提供更好的效能。

SVG可以透過腳本和CSS修改

畫布只能透過腳本修改

SVG 是基於向量並由形狀組成。

畫布基於光柵並由像素組成。

範例

您可以嘗試執行以下程式碼以將可縮放向量圖形(SVG) 新增至網頁-

<!DOCTYPE html>
<html>
   <head>
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-20%);
            -ms-transform: translateX(-20%);
            transform: translateX(-20%);
         }
      </style>
      <title>HTML5 SVG</title>
   </head>
   <body>
      <h2 align = "center">HTML5 SVG Circle</h2>
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <circle id = "bluecircle" cx = "60" cy="60" r = "50" fill = "blue" />
      </svg>
   </body>
</html>

範例

您可以嘗試執行以下程式碼,了解如何使用HTML5 Canvas繪製矩形:

<!DOCTYPE html>
<html>
   <head>
      <title>HTML5 Canvas Tag</title>
   </head>
   <body>
      <canvas id = "newCanvas" width = "200" height = "100" style = "border:1px solid #000000;"></canvas>
      <script>
         var c = document.getElementById(&#39;newCanvas&#39;);
         var ctx = c.getContext(&#39;2d&#39;);
         ctx.fillStyle = &#39;#7cce2b&#39;;
         ctx.fillRect(0,0,300,100);
      </script>
   </body>
</html>

以上是SVG和HTML5 Canvas有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除