Я пытаюсь создать анимированный GIF, но когда я пытаюсь открыть его, он не работает ни с какими приложениями, такими как Discord и онлайн-инструменты (например: https://onlineimagetools.com/gif-player (используется для тестирования)).
Один из моих сгенерированных GIF: https://i.azuxul.fr/e7uIVr.gif
Любая помощь будет оценена ..
const canvas = Canvas.createCanvas(width, height);
const ctx = canvas.getContext('2d');
ctx.fillStyle = '#ff0000';
ctx.fillRect(0, 0, width, height);
const N = 20;
for(var i = 0; i < N; i++) {
msg.channel.send(i*(100/N) + '% finish !');
ctx.drawImage(avatar, 15*i, Math.ceil((canvas.height - AVATAR_SIZE)/2), AVATAR_SIZE, AVATAR_SIZE);
frames.push(ctx.getImageData(0, 0, width, height).data)
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, width, height);
}
var gif = new GifEncoder(width, height);
gif.setDelay(300);
var file = fs.createWriteStream('tmp.gif');
gif.pipe(file);
gif.writeHeader();
var i = 0;
frames.forEach(frame => {
gif.addFrame(frame);
if(i++ > 10) {
i = 0;
gif.read();
}
});
gif.finish();