【发布时间】:2016-08-09 00:58:19
【问题描述】:
我想使用 HTML5 画布制作图像幻灯片效果。我可以通过翻译画布和重绘图像来“滑动”图像。但是,在滑动过程中,画布被清除并重新绘制图像的左侧会导致图像在左侧出现一些闪烁。 这是一个演示链接:http://codepen.io/make2514/pen/rLQwbz。下面是我的画布脚本:
var img = new Image();
var imgLoaded = false;
img.src = "http://in5d.com/wp-content/uploads/2014/11/SHMNTYMETM.jpg"
img.onload = function(){
imgLoaded = true;
};
var canvas = document.querySelector('canvas');
function play() {
push(canvas, img, function () {
console.log('done');
});
}
function push (canvas, canvasIn) {
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
if (imgLoaded) {
ctx.translate(5, 0);
}
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
window.requestAnimationFrame(function () {
push(canvas, img);
});
}
我尝试将 x 轴画布平移减小到更小的值,但闪烁仍然存在。
如果有任何建议,我将不胜感激!
【问题讨论】:
标签: html5-canvas