我想将.gif图像设置为画布的背景图像,这样我就可以获得背景的动画视图。但是我只显示了静态图像。
这是我的Windows 8应用程序的HTML代码。
<body>
<canvas id="canvas"></canvas>
<img id="scream" src="images/gangam.gif" alt="The Scream" width="220" height="277">
</body>
<script>
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d"); // Create canvas context
function paintCanvas() {
ctx.fillStyle = "white";
ctx.fillRect(0, 0, W, H);
var img = document.getElementById("scream");
ctx.drawImage(img, W/2, H/2);
}
</script>
答案 0 :(得分:2)
为什么不让画布透明,并将画布放置(CSS定位)在它上面?这不是比做低级成像的东西好吗?
否则,canvas一次只显示一个静态图像,当然您的JavaScript可以为其设置动画,但这不是静态。
检查这个小提琴: http://jsfiddle.net/pK7Xx/2/
<强> CSS 强>
#canvas, #scream {
width: 500px;
height: 212px;
position: relative;
display: block;
}
#canvas {
margin-top: -212px;
}
<强> HTML 强>
<img id="scream" src="http://24.media.tumblr.com/tumblr_ma1wafniaA1rbonrno1_500.gif" alt="The Scream">
<canvas id="canvas"></canvas>
使用透明画布绘制 var canvas = document.getElementById(“canvas”), context = canvas.getContext(“2d”); //创建画布上下文
function something() {
context.font = "bold 25px sans-serif";
context.fillText("Hello!", 100, 43);
}
something();
答案 1 :(得分:1)
不,我无法在.gif
中显示<canvas>
。您可以使用sprites和setInterval()
来模仿动画。