使用node.js生成PNG图像

And*_*een 8 node.js

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

Byt*_*yte 10

你可以使用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;
  });
});
Run Code Online (Sandbox Code Playgroud)

此代码创建png文件3x3像素,并以数组颜色定义.

  • @Frondor,你应该使用 `Jimp.rgbaToInt(r, g, b, a);` 来构建十六进制格式的颜色。 (3认同)