I’m experiencing problems creating a GIF using gif.js with images generated from html2canvas. I have a list of divs that I convert into images and store in an array. However, when I try to create the GIF from these images, the GIF is not exported or displayed correctly.
Here’s a simplified version of my code:
`function createGifFromList() {
// make sure listaImagenes is defined and filled with PNG data
if (!Array.isArray(listaImagenes) || listaImagenes.length === 0) {
document.getElementById(‘reporte2’).innerText = ‘the image list is empty’;
return;
}
// create a new GIF using gif.js
const gif = new GIF({
workers: 2,
quality: 10
});
// load and add each image to the GIF
listaImagenes.forEach((imgDataUrl) => {
const img = new Image();
img.src = imgDataUrl;
img.onload = () => {
gif.addFrame(img, { delay: 500 }); // add each image with a delay of 500ms
};
});
// when all images have been added
gif.on('finished', function(blob) {
// create a download link for the GIF
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'myAnimatedGif.gif';
a.click();
// display the gif in the frames container
const framesContainer = document.getElementById('framesContainer');
const imgElement = document.createElement('img');
imgElement.src = url;
framesContainer.innerHTML = ''; // clear the container
framesContainer.appendChild(imgElement);
});
// render the GIF
gif.render();
}
`
“I would like to be able to export the GIF or display it in framesContainer.”