Html5 Canvas學習之路(三)

2021-09-13 22:12:10 字數 1219 閱讀 1181

合成是指如何精細控制畫布上物件的透明度和分層效果。有兩個屬性可以控制合成操作:

globalalpha canvas屬性用來表示透明度,它的預設值為1.0(完全不透明),並且可以設定從0.0到1.0的值,這項canvas屬性必須在圖形繪製之前設定。

globalcompositeoperation屬性用來顯示分層效果,它的值在globalalpha以及所有變換都生效後控制在當前canvas點陣圖中繪製圖形,其值如下:

**示例如下:

function compound()
顯示效果如下:

畫布變換是指用數學方法調整所繪圖形的物理屬性。旋轉和縮放就是常用的兩種變換。

1) 旋轉和平移變換

先來看乙個概念,變換矩陣

畫布上的每個物件都擁有乙個當前的變換矩陣。transform() 方法替換當前的變換矩陣,它允許您縮放、旋轉、移動並傾斜當前的環境。。它以下面描述的矩陣來操作當前的變換矩陣:

a  c  e

b d f

0 0 1

引數值如下:

**如下:

function rotaterect()
效果如下:

2) 縮放變換

可用scale函式進行縮放變換。

scale()函式有兩個引數,第乙個是x軸的縮放屬性,第二個是y軸的縮放屬性,正常物件縮放大小的數值都為1。

**示例:

function scalerect()
顯示結果:

HTML5 canvas畫布 學習例項

如圖 如下 js 如下 tankgame2.js 我的坦克hero function hero x,y,direct 右移 this.moveright function 下移 this.movedown function 左移 this.moveleft function 畫坦克 function...

HTML5 canvas 繪製圓形

canvas繪製圓形的思路 1 建立路徑 beginpath 2 建立圓形的路徑 3 關閉路徑 closepath 路徑不關閉也能繪製出圖形 4 設定繪製樣式。建立圓形路徑時需要用到物件的arc方法,方法定義如 arc x,y,radius,startangle,endangle,countercl...

HTML5 canvas擦除無效

部分安卓手機上會出現canvas內圖表重疊,並且清除無效,屬於偶現缺陷,非常難以確定其產生原因,比如下圖這個樣子,第一次繪製的圖形沒有擦除,導致第二次繪製時出現重影 初步考慮為裝置自身問題,引起canvasapi的context.clearrect執行無效。在經過一些嘗試之後,發現在每次擦除 cle...