HTML5中的<canvas>畫布:簡單介紹(0)

來源:互聯網
上載者:User

標籤:style   blog   http   java   color   使用   os   strong   

<canvas> 標籤是 HTML 5 中的新標籤,像所有的dom對象一樣它有自己本身的屬性、方法和事件, 其中就有繪圖的方法,js能夠調用它來進行繪圖 ,最近在研讀《html5與css3權威指南》下面對其中最好玩的canvas的學習做下讀書筆記與實 驗。溫馨提示:以下所有實驗請使用最新版的opera,Firefox.

定義:

<canvas> 標籤定義圖形,比表和其他映像。

<canvas> 標籤只是圖形容器,您必須使用指令碼(javascript)來繪製圖形。

執行個體

如何通過 canvas 元素來顯示一個紅色的矩形:

 1 <!DOCTYPE HTML> 2 <html> 3 <body> 4 <canvas id="myCanvas">您的瀏覽器不支援canvas標記!</canvas> 5 <script type="text/javascript"> 6 var canvas=document.getElementById(‘myCanvas‘); 7 var ctx=canvas.getContext(‘2d‘); 8 ctx.fillStyle=‘#FF0000‘; 9 ctx.fillRect(0,0,80,100);10 </script>11 </body>12 </html>

<canvas> 的曆史:

這個 HTML 元素是為了用戶端向量圖形而設計的。它自己沒有行為,但卻把一個繪圖 API 展現給用戶端 JavaScript 以使指令碼能夠把想繪製的東西都繪製到一塊畫布上。

<canvas> 標記由 Apple 在 Safari 1.3 網頁瀏覽器中引入。對 HTML 的這一根本擴充的原因在於,HTML 在 Safari 中的繪圖能力也為 Mac OS X 案頭的 Dashboard 組件所使用,並且 Apple 希望有一種方式在 Dashboard 中支援指令碼化的圖形。

Firefox 1.5 和 Opera 9 都跟隨了 Safari 的引領。這兩個瀏覽器都支援 <canvas> 標記。

我們甚至可以在 IE 中使用 <canvas> 標記,並在 IE 的 VML 支援的基礎上用開源的 JavaScript 代碼(由 Google 發起)來構建相容性的畫布。 參見:http://excanvas.sourceforge.net/。

<canvas> 的標準化的努力由一個 網頁瀏覽器廠商的非正式協會在推進,目前 <canvas> 已經成為 HTML 5 草案中一個正式的標籤。 參見:http://www.whatwg.org/specs/web-apps/current-work/

<canvas> 標記和 SVG 以及 VML 之間的差異:

<canvas> 標記和 SVG 以及 VML 之間的一個重要的不同是,<canvas> 有一個基於 JavaScript 的繪圖 API,而 SVG 和 VML 使用一個 XML 文檔來描述繪圖。

這兩種方式在功能上是等同的,任何一種都可以用另一種來類比。從表面上看,它們很不相同,可是,每一種都有強項和弱點。例如,SVG 繪圖很容易編輯,只要從其描述中移除元素就行。

要從同一圖形的一個 <canvas> 標記中移除元素,往往需要擦掉繪圖重新繪製它。

如何使用 <canvas> 標記繪圖:

大多數 Canvas 繪圖 API 都沒有定義在 <canvas> 元素本身上,而是定義在通過畫布的 getContext() 方法獲得的一個“繪圖環境”對象上。

Canvas API 也使用了路徑的標記法。但是,路徑由一系列的方法調用來定義,而不是描述為字母和數位字串,比如調用 beginPath() 和 arc() 方法。

一旦定義了路徑,其他的方法,如 fill(),都是對此路徑操作。繪圖環境的各種屬性,比如 fillStyle,說明了這些操作如何使用。

注釋:Canvas API 非常緊湊的一個原因上它沒有對繪製文本提供任何支援。要把文本加入到一個 <canvas> 圖形,必須要麼自己繪製它再用位元影像映像合并它,或者在 <canvas> 上方使用 CSS 定位來覆蓋 HTML 文本。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.