假設我有一個400x200
畫布。 我想在一個座標系中工作,其中(0, 0)
處於畫布的正中間,正數y
表示正數,正數x
表示正確。畫布變形不如預期的那樣
所以,我設置的轉換如下:
var ctx = document.getElementById("canvas").getContext("2d");
ctx.setTransform(1, 0, 0, -1, 200, 100);
ctx.fillRect(-20, -20, 40, 40);
<canvas id="canvas" style="width: 400px; height: 200px"></canvas>
所以,當我填充矩形在上面的代碼片段,我希望看到在中間爲中心的方畫布元素。但是,當運行上面的代碼片段(在最新的Chrome中)時,該方塊顯然不居中。爲什麼是這樣?我誤解了有關變換矩陣的內容嗎?如果是這樣,如何可以我實現了我的目標?
啊,我完全理解。我沒有意識到CSS屬性與「本地」畫布屬性之間存在區別。謝謝! – cemulate