16

是否可以使用 Node.js 从像素数据数组创建 PNG 图像?我想从一组 RGBA 值创建一个 PNG 图像,然后将其保存到文件中。

4

1 回答 1

19

您可以使用jimp

const Jimp = require('jimp');


let imageData = [
  [ 0xFF0000FF, 0xFF0000FF, 0xFF0000FF ],
  [ 0xFF0000FF, 0x00FF00FF, 0xFF0000FF ],
  [ 0xFF0000FF, 0xFF0000FF, 0x0000FFFF ]
];


let image = new Jimp(3, 3, function (err, image) {
  if (err) throw err;

  imageData.forEach((row, y) => {
    row.forEach((color, x) => {
      image.setPixelColor(color, x, y);
    });
  });

  image.write('test.png', (err) => {
    if (err) throw err;
  });
});

此代码使用数组中定义的颜色创建一个 3x3 像素的 png 文件。

于 2017-03-06T20:33:03.893 回答