亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于translate是否移動坐標軸,視頻5分14說經過translate位移后坐標還是(0,0),但是W3C上不是這么定義的啊

http://www.w3school.com.cn/tags/canvas_translate.asp

在位置 (10,10) 處繪制一個矩形,將新的 (0,0) 位置設置為 (70,70)。再次繪制新的矩形(請注意現在矩形從位置 (80,80) 開始繪制):

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillRect(10,10,100,50);
ctx.translate(70,70);
ctx.fillRect(10,10,100,50);

這是W3C的定義,按這樣一來,左上角坐標就應該是(0+x,0+y),再用scale縮放,對于坐標應該有影響的,只不過在這個案例的canvas里面看出不來,除非能打印出canvas的坐標。。

究竟是老師說的對還是W3C的對,還是我理解錯了??

正在回答

3 回答

感覺應該還是有影響的

0 回復 有任何疑惑可以回復我~

W3C和老師說的一樣呀。

把上面的稍微改一下,改成 ↓↓ 這樣運行下,直觀很多~

<!DOCTYPE?html>
<html>
<body>

<canvas?id="myCanvas"?width="300"?height="150"?style="border:1px?solid?#d3d3d3;">
Your?browser?does?not?support?the?HTML5?canvas?tag.
</canvas>

<script>

var?c=document.getElementById("myCanvas");
var?ctx=c.getContext("2d");
ctx.fillRect(10,10,100,50);
ctx.translate(110,60);
ctx.fillRect(0,0,100,50);

</script>

</body>
</html>


0 回復 有任何疑惑可以回復我~

請在看一下視頻,已經說了,使用translate會造成坐標原點的變換,所以要使用context.save()和context.restore()

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于translate是否移動坐標軸,視頻5分14說經過translate位移后坐標還是(0,0),但是W3C上不是這么定義的啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號