2015-08-24 174 views
1

我有一個表示8位灰度圖像(值範圍從0到255)的值矩陣。我想在網絡上顯示此圖片。我該怎麼做?該圖像來自C程序,這是否需要轉換C程序中的圖像?如何將灰度圖像矩陣轉換爲Node.js中的圖像

+0

檢查圖像編解碼器[點擊這裏](https://github.com/foo123/FILTER.js),並選擇一個保存數據在磁盤上實際的圖像,HTTPS:/ /github.com/foo123/FILTER.js/tree/master/src/codecs –

+0

請注意,並非所有編解碼器都支持編碼(將數據保存爲圖像),有些僅支持編碼(從圖像中讀取數據) –

+0

我在這裏閱讀有關編解碼器的信息https ://github.com/foo123/FILTER.js/blob/master/api-reference.md#codecs我在哪裏傳遞矩陣?你推薦一個特定的格式 –

回答

0

由於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'));