婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5 canvas基本繪圖之圖形變換

HTML5 canvas基本繪圖之圖形變換

熱門標簽:電視購物電銷外呼系統 聯通400電話申請 電話機器人如何 西寧智能外呼系統加盟 飛亞外呼系統 杭州營銷電銷機器人供應商 高德地圖標注賓館位置 貸款電銷人工和機器人哪個好 百應電銷機器人產業

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

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

1.獲取<canvas>元素對應的DOM對象,這是一個Canvas對象;
2.調用Canvas對象的getContext()方法,得到一個CanvasRenderingContext2D對象;
3.調用CanvasRenderingContext2D對象進行繪圖。

圖形變換

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

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

旋轉:context.rotate(angle),接收參數是坐標軸旋轉的角度。

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

JavaScript Code復制內容到剪貼板
  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();   

效果如下:

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

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

讀者可以自行驗證其各個參數的效果,這里就不一一介紹了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:內蒙古 煙臺 玉溪 邯鄲 牡丹江 安慶 撫州 晉中

巨人網絡通訊聲明:本文標題《HTML5 canvas基本繪圖之圖形變換》,本文關鍵詞  HTML5,canvas,基本,繪圖,之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5 canvas基本繪圖之圖形變換》相關的同類信息!
  • 本頁收集關于HTML5 canvas基本繪圖之圖形變換的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 呈贡县| 芜湖市| 青田县| 宜州市| 汾阳市| 眉山市| 阳朔县| 浮梁县| 青铜峡市| 县级市| 班玛县| 宁陵县| 乐东| 柳州市| 腾冲县| 巴里| 东源县| 奉贤区| 开平市| 万州区| 台江县| 周至县| 玉树县| 长治县| 大兴区| 克拉玛依市| 镇康县| 武定县| 新蔡县| 清新县| 大关县| 澄迈县| 全州县| 沁源县| 扎囊县| 宁河县| 湖北省| 沁源县| 深圳市| 托克托县| 大连市|