我正在开发一个 Firefox 扩展,它接收二进制图像作为uint8_t的ArrayBuffers。
在我的扩展中,我加载了一个 .dll 文件,该文件具有我需要在接收到的图像上使用的功能。该函数采用ctype.uint8_t.ptr参数并返回ctype.uint8_t.ptr值。
我似乎找不到将ArrayBuffer转换为这个特定 ctype 的方法,以便我可以将它传递给函数。有没有正确的方法来做到这一点?
使用 ImplicitConvert() 会产生错误:参数必须是非负整数。
我正在开发一个 Firefox 扩展,它接收二进制图像作为uint8_t的ArrayBuffers。
在我的扩展中,我加载了一个 .dll 文件,该文件具有我需要在接收到的图像上使用的功能。该函数采用ctype.uint8_t.ptr参数并返回ctype.uint8_t.ptr值。
我似乎找不到将ArrayBuffer转换为这个特定 ctype 的方法,以便我可以将它传递给函数。有没有正确的方法来做到这一点?
使用 ImplicitConvert() 会产生错误:参数必须是非负整数。
你应该能够做到:
var a = new Uint8Array(1<<10);
var ptr = new ctypes.uint8_t.ptr(a.buffer);
这些东西似乎没有记录,但有一些测试证明了这一点。