1

我想知道如何将图像从网页传输到 Native Client 应用程序。

我有两个主要用例:1.)用户从他们的文件系统上传图像 2.)从网络摄像头捕获图像并保存在画布元素中

我查看了 imageData 下的文档,但我不确定如何使用它,或者这是否是正确的方法。

我也知道我们可以使用消息框架来传递数据,但我不确定该方法是否有效,对于至少 640x480 的图像。

4

2 回答 2

1

是的,您可以通过 PostMessage API 将图像数据从 JS 传输到 NaCl。

var imageData = context.getImageData(0, 0, this.canvas.width, this.canvas.height);
NaClModule.postMessage(imageData.data.buffer);

此外,您实际上可以将 fileBlob URL 交给 NaCl(也可以通过 postmessage),并使用 pp::GetURL API 直接获取文件。这将允许您在 JS 中弹出一个文件选择器,并让 NaCl 加载文件,而不是让 JS 加载它并传递它。

于 2012-07-19T15:03:51.523 回答
0

您应该检查 Nacl 端口中的 Nacl-mounts。您可以使用 http2mount 类从服务器加载图像文件。但是,到目前为止,我认为没有任何方法可以从 Nacl 访问 Camera。他们还没有发布相机 api。

于 2012-07-16T11:37:18.207 回答