如何在Node.js中将灰度图像矩阵转换为图像

时间:2015-08-24 17:34:33

标签: javascript node.js image grayscale

我有一个表示8位灰度图像的值矩阵(值范围从0到255)。我想在网上显示这个图像。我怎么能这样做?图像来自C程序,这需要在C程序中转换图像吗?

1 个答案:

答案 0 :(得分:1)

由于stdob的建议https://www.npmjs.com/package/pngjs,我最终使用pngjs库来完成这项工作。下面是我使用的代码:

var fs = require('fs'),
    PNG = require('pngjs').PNG;

var png = new PNG({
    width: 100,
    height: 100,
    filterType: -1
});

for (var y = 0; y < png.height; y++) {
    for (var x = 0; x < png.width; x++) {
        var idx = (png.width * y + x) << 2;
        png.data[idx  ] = 255;
        png.data[idx+1] = 218;
        png.data[idx+2] = 185;
        png.data[idx+3] = 255;
    }
}

png.pack().pipe(fs.createWriteStream('newOut.png'));