キャンバス要素をいじってみましたが、次のコードは変換なしで正常に動作しますが、変換を入れると、赤いボックスはそれ自体の後ろに「尾」を描画します。奇妙なことに、その尻尾の色はボックスの色とは異なり、ブラウザごとに異なります (FF でははるかに暗い)。それは正常ですか?丸めたからだと思います。
function draw() {
var canvas = document.getElementById("canvas");
g = canvas.getContext("2d");
var x = 0;
var y = 200;
g.transform(.5,0,0,1,0,0);
g.fillStyle = "rgb(200,0,0)";
timer = setInterval(function() {
if(x == 750) clearInterval(timer);
g.clearRect(x,y,50,50);
x ++;
g.fillStyle = "rgb(200,0,0)";
g.fillRect(x,y,50,50);
}, 10);
}
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="test.js"></script>
</head>
<body onload="draw()">
<canvas id="canvas" width="800" height="600"></canvas>
</body>
</html>