javascript - 保存像素会导致 Node.js 上的图像损坏和饱和度降低

标签 javascript node.js

我正在使用 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 不完整。

完整引用: http://github.com/publiclab/image-sequencer/issues/25

最佳答案

回调应该在管道上,而不是在 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/

相关文章:

Javascript 缩小和 HTML5 list

javascript - 如何检查对象是否为数组?

javascript - `export default x` 和 `export {x as default}` 之间有区别吗?

javascript - executeQueryAsync 在 SharePoint 应用程序中无法正常工作

mysql - 在开始时间前 15 分钟获取所有类(class)

javascript - Content-Security-Policy 阻止 Vue.js

javascript - 在 iOS 中从 iframe 重定向父页面

node.js - 我们如何在 expressjs 服务器上使用 body-parser 从表单中获取单选按钮值?

mysql - Node.js 在使用变量之前尝试使用 async/await 从 mysql select 获取数据

javascript - Object.create 在 javascript : why does my code outputs Object instead of name string value