Я работаю над проектом, где меня попросили поддержать анимированный GIF на полотне fabric.js.Анимированный GIF на Fabric.js Canvas
Согласно https://github.com/kangax/fabric.js/issues/560, я следил за советом для рендеринга с регулярными интервалами, используя fabric.util.requestAnimFrame. Видео просто отлично работает с этим методом, но GIF не обновляются.
var canvas = new fabric.StaticCanvas(document.getElementById('stage'));
fabric.util.requestAnimFrame(function render() {
canvas.renderAll();
fabric.util.requestAnimFrame(render);
});
var myGif = document.createElement('img');
myGif.src = 'http://i.stack.imgur.com/e8nZC.gif';
if(myGif.height > 0){
addImgToCanvas(myGif);
} else {
myGif.onload = function(){
addImgToCanvas(myGif);
}
}
function addImgToCanvas(imgToAdd){
var obj = new fabric.Image(imgToAdd, {
left: 105,
top: 30,
crossOrigin: 'anonymous',
height: 100,
width:100
});
canvas.add(obj);
}
JSFiddle здесь: http://jsfiddle.net/phoenixrizin/o359o11f/
Любые советы будут весьма признателен! Я искал везде, но не нашел рабочего решения.
Вы нашли хорошее решение? – 3244611user
@ 3244611user В итоге я перешел на другой маршрут и использовал решение без холста, так как я не смог найти ответ на этот вопрос. –
У меня тоже была такая же проблема. Пожалуйста, @PhoenixRizin, какой подход вы выбрали? –