在 Node.js 中将 PNG 组合到 GIF 的问题

问题描述

我正在尝试组合一系列 PNG 来创建 GIF。但是,我遇到了两个问题:

  1. 渲染的 GIF 缺少一些颜色(通常是白色和浅色),被黑色替换(见下图)

  2. 有时输出文件甚至无法读取,当我尝试在浏览器中查看时会显示损坏的图像图标

代码

const fs = require("fs");
const os = require('os');
const GIFEncoder = require('gifencoder');
const pngFileStream = require('png-file-stream');

const stream = pngFileStream(os.tmpdir() + '/frame_?.png')
  .pipe(encoder.createWriteStream({ repeat: 0,delay: 500,quality: 30 }))
  .pipe(fs.createWriteStream(os.tmpdir() + '/myanimated.gif'));

示例

  1. 输出 GIF

enter image description here

  1. 输入的图像 (PNG)

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)