将字节数组转换为图像 Node.js [英] Byte array into an image Node.js

查看:38
本文介绍了将字节数组转换为图像 Node.js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个很长的字节数组,数字从 0 到 255,而且我知道它是一个图像,所以 我怎样才能像文件一样保存它? 我尝试了很多东西,但没有成功.
图像已创建但无法打开,因为它已损坏.

文件 .js

I have a long array of bytes, with numbers from 0 to 255, and I know it's an image, so how can I save it like a file? I have tried a lot of things, but not success.
The image is created but won't open because it's damaged.

File .js

function saveImage(filename, data){
  //Data = [1,6,2,23,255,etc]
  var wstream = fs.createWriteStream(ARTWORK_PATH+filename);
   for (var i = 0; i < data.length; i++) {
       wstream.write(data[i].toString('base64'));
   }
   wstream.end();
}

推荐答案

我解决了这个问题!

就像使用缓冲区一样简单...

It was as simple as use a buffer...

function saveImage(filename, data){
  var myBuffer = new Buffer(data.length);
  for (var i = 0; i < data.length; i++) {
      myBuffer[i] = data[i];
  }
  fs.writeFile(ARTWORK_PATH+filename, myBuffer, function(err) {
      if(err) {
          console.log(err);
      } else {
          console.log("The file was saved!");
      }
  });
}
saveImage("image.jpg", [0,43,255,etc]);

这篇关于将字节数组转换为图像 Node.js的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆