HTML 5(四)——HTML 5的繪圖支持

HTML 5之前,要在HTML頁面上動態生成圖片,要麼在服務器端生成位圖後輸出到HTML頁面上顯示,要麼使用Flash等等第三方工具。HTML 5改變了這種局面,HTML 5新增了一個<canvas.../>元素,這個元素本身的功能比較有限,但通過該元素可以獲取一個CanvasRenderingContext2D對象,該對象是一個功能強大的繪圖API。
本篇文章將會介紹HTML 5新增的繪圖功能,包括繪製幾何圖形、繪製字符串、利用路徑來繪製複雜的集合圖形等。還會介紹圖形變換、圖形疊加、圖形填充等內容。

一、使用canvas元素

<canvas.../>元素只是繪製圖形的容器,必須使用JavaScript腳本來繪製圖形。

HTML 5頁面上定義<canvas.../>元素與定義其他普通元素並無任何不同,它除了可以指定id、style、class、hidden等通用屬性之外,還可以指定如下兩個屬性。

  • height:該屬性設置畫布組件高度。
  • width:該屬性設置畫布組件寬度。

在HTML 網頁上定義<canvas.../>元素之後,它只是一張“空白”的畫布,畫布上面一片空白,一無所有。爲了向<canvas.../>元素上繪圖,必須經過如下3步。

  1. 獲取<canvas.../>元素對應的DOM對象,這是一個Canvas對象。
  2. 調用Canvas對象的getContext()方法,該方法返回一個CanvasRenderingContext2D對象,該對象即可繪製圖形。
  3. 調用CanvasRenderingContext2D對象的方法繪圖。

二、繪圖

1. canvas繪圖基礎:CanvasRenderingContext2D

每個<canvas.../>元素對應於一個Canvas對象,Canvas對象的getContext(String contextID)方法將會返回一個繪圖API,該方法需要一個字符串參數,目前該方法只支持“2d”字符串作爲參數,該方法將返回一個CanvasRenderingContext2D對象。
該對象提供瞭如下表所示的方法繪製各種圖形。
這裏寫圖片描述
除了上表所示的各種方法之外,CanvasRenderingContext2D還允許直接修改它的系列屬性,這些屬性主要用於控制各種繪圖風格。CanvasRenderingContext2D提供的各種屬性如下表所示。
這裏寫圖片描述
在Canvas提供的繪製方法中還用到了一個API:Path,一個Path代表任意多條直線連接而成的任意圖形,當Canvas根據Path繪製時,它可以繪製出任意的形狀。

2. 繪製幾何圖形

3. 繪製字符串

4. 設置陰影

5. 使用路徑

6. 繪製曲線

7. 繪製位圖

三、圖形特效處理

1. 使用座標變換

2. 座標變換與路徑結合使用

3. 使用矩陣變換

四、控制疊加風格

五、控制填充風格

1. 線性漸變

2. 圓形漸變

3. 位圖填充

六、位圖處理

1. 位圖裁剪

2. 像素處理

七、輸出位圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章