我正在使用 save-pixels 和 get-pixels npm 模块从 DataURL 获取 ndarray 并保存像素以将图像 ndarray 转换为 DataURL。但我在使用 save-image 制作 DataURL 时遇到了一些问题。我这样做正确吗?有更好的方法吗?
这是我正在使用的代码:
var buffer = require('fs').createWriteStream('output.txt');
var enc = require('base64-stream').encode();
savePixels(pixels, 'png').on('end', function() {
//Writes a DataURL to output.txt
buffer.write("data:image/png;base64,"+enc.read().toString());
}).pipe(enc);
我遇到的问题:图像变得不饱和并且 PNG 图像的 DataURL 不完整。
最佳答案
回调应该在管道上,而不是在 savePixels 上。这导致图像不完整。 所以代码应该是这样的:
var buffer = require('fs').createWriteStream('output.txt');
var enc = require('base64-stream').encode();
savePixels(pixels, 'png').pipe(enc).on('end', function() {
//Writes a DataURL to output.txt
buffer.write("data:image/png;base64,"+enc.read().toString());
});
关于javascript - 保存像素会导致 Node.js 上的图像损坏和饱和度降低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44737011/