Buffer Class¶
这个类型是C#语言的 EasyAR Sense API: Buffer 。页面中部分描述可能与Unity环境无关。
部分Sense接口已经封装成Unity组件,直接使用可能是不必要的。
Description¶
Buffer 存储了原始字节数组,可以用来访问图像数据。
在Java API中可以从 Image 中获取buffer然后copy数据到Java字节数组。
在EasyAR Sense的所有版本中,你都可以访问图像数据。参考 Image 。
Methods¶
wrap¶
- C#
public static Buffer wrap(IntPtr ptr, int size, Action deleter)
包装一个指定长度的原始内存块。在Buffer被完全释放的时候,会调用deleter回调,执行用户自定义内存销毁行为。deleter必须是线程安全的。
create¶
- C#
public static Buffer create(int size)
创建一个指定字节长度的Buffer。
data¶
- C#
public virtual IntPtr data()
返回原始内存地址。
size¶
- C#
public virtual int size()
Buffer的字节长度。
memoryCopy¶
- C#
public static void memoryCopy(IntPtr src, IntPtr dest, int length)
复制原始内存。主要用于内存操作不完善的语言或环境。
tryCopyFrom¶
- C#
public virtual bool tryCopyFrom(IntPtr src, int srcIndex, int index, int length)
尝试从原始内存地址复制数据到Buffer中。如果复制成功,则返回true,否则返回false。失败的原因有:源数据范围或目标数据范围超出可用范围。
tryCopyTo¶
- C#
public virtual bool tryCopyTo(int index, IntPtr dest, int destIndex, int length)
尝试从Buffer复制数据到原始内存地址中。如果复制成功,则返回true,否则返回false。失败的原因有:源数据范围或目标数据范围超出可用范围。
partition¶
- C#
public virtual Buffer partition(int index, int length)
创建一个子Buffer,并引用原Buffer。一个Buffer在所有子Buffer释放后才会释放。