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释放后才会释放。