У меня есть матрица значений, представляющая 8-битное изображение в оттенках серого (значения от 0 до 255). Я хотел бы показать это изображение в Интернете. Как я могу это сделать? Изображение происходит из программы C, для этого требуется преобразовать изображение в программу на C?Как преобразовать матрицу изображений в оттенках серого в изображение в Node.js
1
A
ответ
0
Я закончил с помощью библиотеки pngjs, чтобы сделать работу благодаря предложению stdob https://www.npmjs.com/package/pngjs. Heres код, который я использовал:
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'));
проверить изображение кодеками [здесь] (https://github.com/foo123/FILTER.js) и выбрать один, чтобы сохранить данные в виде реального изображения на диске, HTTPS://github.com/foo123/FILTER.js/tree/master/src/codecs –
Обратите внимание, что не все кодеки поддерживают кодирование (сохранение данных как изображение), некоторые поддерживают только кодировку (чтение данных с изображения) –
Im чтение о кодеках здесь https : //github.com/foo123/FILTER.js/blob/master/api-reference.md#codecs Где передать матрицу? Вы рекомендуете конкретный формат –