首頁  >  文章  >  web前端  >  HTML5實戰-SVG的詳解

HTML5實戰-SVG的詳解

黄舟
黄舟原創
2017-03-21 15:57:481964瀏覽

百度百科:

  SVG可縮放向量圖形(Scalable Vector Graphics)是基於可擴展標記語言(XML) ,用於描述二維向量圖形的一種圖形格式。 SVG是W3C制定的一種新的二維向量圖形格式,也是規範中的網路向量圖形標準。 SVG嚴格遵循XML語法,並以文字格式的描述性語言來描述影像內容,因此是一種和影像解析度無關的向量圖形格式。

什麼是SVG?

  SVG 指可伸縮向量圖形(Scalable Vector Graphics)
  SVG 用來定義用於網路的基於向量的圖形
  SVG 使用XML 格式定義圖形
SVG 影像在放大或改變尺寸的情況下其圖形品質不會有所損失
  SVG 是萬維網聯盟的標準
  SVG 與諸如DOM 和XSL 之類的W3C 標準是一個整體

Canvas 與SVG 的差異:
#  SVG
    SVG 是一種使用XML 來描述2D 圖形的語言。
    SVG 是基於 XML,這意味著 SVG DOM 中的每個元素都是可用的。您可以為某個元素附加 JavaScript 事件處理器。
    在 SVG 中,每個被繪製的圖形被視為物件。如果 SVG 物件的屬性發生變化,那麼瀏覽器能夠自動重現圖形。
    特點:
       不依賴解析度
          不依賴解析度
                                           都大  複雜度高會減慢渲染速度(任何過度使用DOM 的應用程式都不快)
       不適合遊戲應用
  Canvas
    Canvas 透過JavaScript 來繪製2D 圖形。
    Canvas 是逐像素進行渲染的。
    在 canvas 中,一旦圖形被繪製完成,它就不會繼續得到瀏覽器的關注。如果其位置發生變化,那麼整個場景也需要重新繪製,包括任何或許已被圖形覆蓋的物件。
    特點:
         依賴解析度
       不支援事件處理器 #      不支援事件處理器 #      或.jpg 格式儲存結果圖片
       最適合圖片密集的遊戲,其中的許多物件會被頻繁重繪


svg 範例:

##

    <svg width="100%" height="100%"  >

        <circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" />

    </svg>


以上是HTML5實戰-SVG的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn