《HTML5canvas開發詳解(第2版)》——1.9 HTML5Canvas物件
本節書摘來自非同步社群《HTML5 canvas開發詳解(第2版)》一書中的第1章,第1.9節,作者: 【美】Steve Fulton , Jeff Fulton 更多章節內容可以訪問雲棲社群“非同步社群”公眾號檢視。
1.9 HTML5 Canvas物件
Canvas物件是通過在HTML頁面的< body >部分中放置< canvas >標籤建立的,也可以通過以下程式碼建立畫布例項。
var theCanvas = document.createElement("canvas");
Canvas物件有兩個相關的屬性和方法可以通過JavaScript訪問:width和height。這些屬性顯示當前HTML頁面建立的畫布的寬度和高度。這裡需要強調的是,這兩個屬性並不是只讀的。例如,通過程式碼可以對它們進行更新,從而影響HTML頁面上的物件。這意味著什麼?這意味著使用者可以在HTML頁面上動態地調整畫布尺寸而無須重新載入。
提示
也可以使用CSS樣式來改變畫布的縮放比例。與調整大小不同,縮放提取當前畫布的點陣圖區域,然後重新取樣以適應CCS樣式中設定的寬度和高度的值。例如,將畫布縮放到400 × 400區域,可以使用以下CSS樣式。
style="width: 400px; height:400px"
第3章有一個使用變換矩陣縮放Canvas的示例。
Canvas物件目前有兩個公共方法。第一個是getContext(),本章前面就使用過。本書將繼續使用這個方法獲得Canvas 2D環境物件的引用,這樣才能在畫布上進行繪圖。第二個方法是toDataURL(),這個方法返回的資料是代表當前Canvas物件產生點陣圖的字串。它就像是螢幕的一個快照,通過提供一個不同的MIME型別作為引數,可以返回不同的資料格式。基本的格式是image/png,但是也可以獲取image/jpeg和其他格式。下一個應用程式將會使用toDataURL()方法,把畫布中的影像匯出到另一個瀏覽器視窗。
提示
第三個公共的方法——toBlob(),已經被定義,並且正在不同的瀏覽器上實現該方法。toBlob([callback])將返回一個引用影像的檔案,而不是一個base64編碼的字串。目前,尚未有任何瀏覽器實現該方法。
相關文章
- 《HTML5canvas開發詳解(第2版)》——1.4 文件物件模型(DOM)和CanvasHTMLCanvas物件模型
- 《HTML5canvas開發詳解(第2版)》——2.14 內容預告HTMLCanvas
- 《HTML5canvas開發詳解(第2版)》——2.13 繪製一個焦點環HTMLCanvas
- 《HTML5Canvas開發詳解》——2.11 內容預告HTMLCanvas
- 《HTML5canvas開發詳解(第2版)》——1.7 用console.log除錯HTMLCanvas除錯
- 《HTML5canvas開發詳解(第2版)》——第2章 在Canvas上繪圖2.1 本章基本檔案設定HTMLCanvas繪圖
- 《HTML5Canvas開發詳解》——1.6 用Console.log除錯HTMLCanvas除錯
- 《HTML5Canvas遊戲開發實戰》——第1章 準備工作HTMLCanvas遊戲開發
- 《HTML5Canvas遊戲開發實戰》——第3章 Canvas高階功能HTMLCanvas遊戲開發
- 《HTML5Canvas遊戲開發實戰》——3.4 小結HTMLCanvas遊戲開發
- html5canvas畫時鐘HTMLCanvas
- 提高HTML5Canvas效能的技巧HTMLCanvas
- html5canvas全屏煙花動畫特效HTMLCanvas動畫特效
- HTML5Canvas實現360度全景圖HTMLCanvas
- HTML5Canvas遇到的幾個問題HTMLCanvas
- html5canvas: 教你實現知乎登入動態粒子背景HTMLCanvas
- 基於HTML5Canvas的工控機櫃U位動態管理HTMLCanvas
- 基於HTML5Canvas的互動式地鐵線路圖HTMLCanvas
- EasyPR--開發詳解(6)SVM開發詳解
- 第20課 SPI協議詳解及裸機程式開發分析協議
- CSSStyleSheet 物件詳解CSS物件
- File 物件詳解物件
- 8個驚豔的JavaScript為HTML5Canvas提供硬體3D加速渲染應用實驗JavaScriptHTMLCanvas3D
- 詳解Java 虛擬機器(第②篇)——HotSpot 虛擬機器物件Java虛擬機HotSpot物件
- 【JS系列】物件詳解JS物件
- JavaScript arguments物件詳解JavaScript物件
- Git物件概念詳解Git物件
- Java 物件排序詳解Java物件排序
- JavaScript arguments 物件詳解JavaScript物件
- iOS開發之 Autolayout 詳解iOS
- 詳解JavaScript模組化開發JavaScript
- 【iOS開發】iOS 動畫詳解iOS動畫
- Java 併發開發:Lock 框架詳解Java框架
- 詳解Java的物件建立Java物件
- JavaScript 檔案物件詳解JavaScript物件
- JavaScript中 Map 物件詳解JavaScript物件
- js--history 物件詳解JS物件
- C++物件模型詳解C++物件模型