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