async function gifToFrames(url) {
return new Promise(async resolve => {
const div = document.createElement("div");
const img = document.createElement("img");
div.appendChild(img);
img.src = url;
await new Promise(resolve => {
img.onload = function () {
resolve()
}
})
const rub = new SuperGif({
gif: img });
await new Promise(resolve => {
rub.load(() => resolve())
})
const {
delays } = rub
const img_list = [];
for (let i = 1; i <= rub.get_length(); i++) {
rub.move_to(i);
img_list.push({
url: rub.get_canvas().toDataURL('image/jpeg', 0.6),
delay: delays[i - 1]
})
}
resolve(img_list)
})
}
- 动图 / 静图 + 文字样式/动画 + 文字组 合成新图片(批量)