首页 > 解决方案 > 为什么这个 Jimp gif 生成器不起作用?

问题描述

我的目标是一个从单个图像生成彩虹 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();

标签: node.jsjimp

解决方案


推荐阅读