var gif; var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d');
/** * 开始生成 */ $("#btn").click(function () { gif = new GIF({ workers: imgList.length, quality: 30, workerScript: "gif.worker.js" }); gif.on("finished", function (blob) { var file = new FileReader(); file.readAsDataURL(blob); file.onload = function () { document.getElementById("result").setAttribute("src", file.result); } });
var imgObjList = [], count = 0;
for (var i = 0; i < imgList.length; i++) { var tmpImg = new Image(); tmpImg.src = imgList[i]; imgObjList.push(tmpImg); tmpImg.onload = function () { count++; if (count === imgList.length) { generateGif(imgObjList); } } } });
/** * 生成gif * * @param imgObjList */ function generateGif(imgObjList) { for (var i = 0; i < imgObjList.length; i++) { ctx.save(); ctx.drawImage(imgObjList[i], 0, 0, canvas.width, canvas.height);