我的目标是一个从单个图像生成彩虹 gif 的模块。我不明白为什么这段代码不起作用。有人可以帮忙吗?谢谢!
var Jimp = require('jimp');
var getPixels = require('get-pixels')
var GifEncoder = require('gif-encoder');
const fs = require('fs');
var gif = new GifEncoder(1280, 720);
var file = require('fs').createWriteStream('img.gif');
gif.pipe(file);
gif.setQuality(20);
gif.setDelay(1000);
gif.writeHeader();
async function main() {
for (let i = 0; i <= 240; i++) {
let image = await Jimp.read('https://media.geeksforgeeks.org/wp-content/uploads/20190328185307/gfg28.png');
image.color([{apply:'hue', params: [i]}]).getBuffer(buf => {
if (i === 240) {
gif.finish();
} else {
getPixels(buf, function(err, pixels) {
gif.addFrame(pixels.data);
gif.read();
if (err) {
throw err;
} else {
addToGif(images, ++i);
}
})
}
})
}
}
main();