Canvas 元素可以被轉(zhuǎn)換。
例子】如,在坐標(biāo) (20, 40) 的畫布上寫入文本。
ctx.font="bold 20px Arial"; ctx.textAlign="Hello php中文網(wǎng)"; ctx.fillText("Hello php中文網(wǎng)", 20, 40);
translate(x,y) 方法用于移動 Canvas。
x 表示水平移動網(wǎng)格的距離, y 表示垂直移動網(wǎng)格的距離。
ctx.translate(100, 150); ctx.fillText("after translate", 20, 40);
在此例子中,畫布向右移動100像素,向下移動150像素。
rotate() 方法用于旋轉(zhuǎn) HTML5 畫布。
下面是在設(shè)置旋轉(zhuǎn)之前和之后繪制相同矩形的例子:
ctx.fillStyle = "#FF0000"; ctx.fillRect(10,10, 100, 100); ctx.rotate( (Math.PI / 180) * 25); //rotate 25 degrees. ctx.fillStyle = "#0000FF"; ctx.fillRect(10,10, 100, 100);
運(yùn)行顯示結(jié)果如下圖所示:
scale() 方法縮放當(dāng)前繪圖至更大或更小。
注意:如果你對繪圖進(jìn)行縮放,所有之后的繪圖也會被縮放。定位也會被縮放。如果你設(shè)置 scale(2,2),那么繪圖將定位于距離畫布左上角兩倍遠(yuǎn)的位置。
實(shí)例
繪制一個(gè)矩形;放大到2倍,再次繪制矩形;放大到2倍,再次繪制矩形;放大到2倍,再次繪制矩形:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15);
運(yùn)行顯示結(jié)果如下圖所示: