websocket - 如何将 blob 转换为图像数据?

标签 websocket blob dart

我想通过 websocket 将图像流式传输到网页。数据在 RGBA 中。如何将博客转换为图像数据?

这是我当前的代码,它不起作用而且会很慢。有没有一种直接的方法可以将 event.data 分配给 Canvas 的图像数据?

  void onMessage(MessageEvent event)
  {
     print("received!");
     var imgData = canvas.getImageData(0, 0, 100, 100);
     var j = 0;
     for (var i=0;i<imgData.data.length;i+=4)
     {
       imgData.data[i+0]=event.data[j];
       imgData.data[i+1]=event.data[j+1];
       imgData.data[i+2]=event.data[j+2];
       imgData.data[i+3]=255;
       j+=3;
     }
     canvas.putImageData(imgData,0,0);

   }

最佳答案

在 Firefox 上,您可以使用 toBlob 方法。将图像数据放在临时 Canvas 上并调用 toBlob 方法。概念证明示例:

var canvas      = document.createElement('canvas');
canvas.width    = imageData.width;
canvas.height   = imageData.width;
me._dstCanvas.getContext('2d').putImageData(a.dstImgData, 0, 0);
me._dstCanvas.toBlob(function(blob) {
      blob// this is yout file
}, 'image/png', 1);

有关更多信息,请查看 Moz Dev: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob

关于websocket - 如何将 blob 转换为图像数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994947/

相关文章:

javascript - Node.js + AngularJS + Socket.io : pushed data not available in the controller

java - 字节 [] 的正确 hibernate 注释

dart - flutter 单选按钮的问题

javascript - PeerJS 文字聊天

javascript - 用户套接字 ID 是关键信息吗? (安全 Angular )

c# - 读取 Oracle BLOB 字段

Flutter:从具有正确重叠的矩阵变换中布局具有不同 z 坐标的多个子项

dart - 如何为 ListView 索引 firestore 文档映射项

javascript - PubNub 退订会减慢整个 Web 应用程序的速度

csv - Azure 机器学习 Web 服务无法从 blob 读取 CSV