主頁(yè) > 知識(shí)庫(kù) > HTML5 canvas基本繪圖之圖形變換

HTML5 canvas基本繪圖之圖形變換

熱門標(biāo)簽:電視購(gòu)物電銷外呼系統(tǒng) 聯(lián)通400電話申請(qǐng) 電話機(jī)器人如何 西寧智能外呼系統(tǒng)加盟 飛亞外呼系統(tǒng) 杭州營(yíng)銷電銷機(jī)器人供應(yīng)商 高德地圖標(biāo)注賓館位置 貸款電銷人工和機(jī)器人哪個(gè)好 百應(yīng)電銷機(jī)器人產(chǎn)業(yè)

<canvas></canvas>是HTML5中新增的標(biāo)簽,用于繪制圖形,實(shí)際上,這個(gè)標(biāo)簽和其他的標(biāo)簽一樣,其特殊之處在于該標(biāo)簽可以獲取一個(gè)CanvasRenderingContext2D對(duì)象,我們可以通過JavaScript腳本來控制該對(duì)象進(jìn)行繪圖。

<canvas></canvas>只是一個(gè)繪制圖形的容器,除了id、class、style等屬性外,還有height和width屬性。在<canvas>>元素上繪圖主要有三步:

1.獲取<canvas>元素對(duì)應(yīng)的DOM對(duì)象,這是一個(gè)Canvas對(duì)象;
2.調(diào)用Canvas對(duì)象的getContext()方法,得到一個(gè)CanvasRenderingContext2D對(duì)象;
3.調(diào)用CanvasRenderingContext2D對(duì)象進(jìn)行繪圖。

圖形變換

平移:context.translate(x,y),接收參數(shù)分別為原點(diǎn)在x軸方向平移x,在y軸方向平移y。

縮放:context.scale(x,y),接收參數(shù)分別為x坐標(biāo)軸按x比例縮放,y坐標(biāo)軸按y比例縮放。

旋轉(zhuǎn):context.rotate(angle),接收參數(shù)是坐標(biāo)軸旋轉(zhuǎn)的角度。

需要說明的是,對(duì)圖形進(jìn)行變化后,接下來的一次繪圖是緊接著上一次的狀態(tài)的,所以如果需要回到初始狀態(tài),要用到context.save();和context.restore();來保存和恢復(fù)當(dāng)前狀態(tài):

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var canvas = document.getElementById("canvas");   
  2. var context = canvas.getContext("2d");   
  3.   
  4. //translate()   
  5. context.save();   
  6. context.fillStyle = "#1424DE";   
  7. context.translate(10,10);   
  8. context.fillRect(0,0,200,200);   
  9. context.restore();   
  10.   
  11. //scale()   
  12. context.save();   
  13. context.fillStyle = "#F5270B";   
  14. context.scale(0.5,0.5);   
  15. context.fillRect(500,50,200,200);   
  16. context.restore();   
  17. //rotate()   
  18.   
  19. context.save();   
  20. context.fillStyle = "#18EB0F";   
  21. context.rotate(Math.PI / 4);   
  22. context.fillRect(300,10,200,200);   
  23. context.restore();   

效果如下:

另外一個(gè)跟圖形變換相關(guān)的是:矩陣變換 :context.transform(a, b, c, d, e, f, g)。參數(shù)的含義如下:

a 水平縮放 ( 默認(rèn)為1 )
b 水平傾斜 ( 默認(rèn)為 0 )
c 垂直傾斜 ( 默認(rèn)為 0 )
d 垂直縮放 ( 默認(rèn)為1 )
e 水平位移 ( 默認(rèn)為 0 )
f 垂直位移 ( 默認(rèn)為 0 )

讀者可以自行驗(yàn)證其各個(gè)參數(shù)的效果,這里就不一一介紹了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:內(nèi)蒙古 煙臺(tái) 玉溪 邯鄲 牡丹江 安慶 撫州 晉中

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5 canvas基本繪圖之圖形變換》,本文關(guān)鍵詞  HTML5,canvas,基本,繪圖,之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5 canvas基本繪圖之圖形變換》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于HTML5 canvas基本繪圖之圖形變換的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章