我使用了 canvas 元素,下面的代码在没有变换的情况下也能正常工作,但是当我放入变换时,红色框在自身后面画了一个“尾巴”。奇怪的是,尾巴的颜色与盒子的颜色不同,而且它也因浏览器而异(在 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>