Class Buffer
- 命名空间
- easyar
- 程序集
- EasyAR.Sense.dll
Buffer 存储了原始字节数组,可以用来访问图像数据。 在Java API中可以从 `Image`_ 中获取buffer然后copy数据到Java字节数组。 在EasyAR Sense的所有版本中,你都可以访问图像数据。参考 `Image`_ 。
public class Buffer : RefBase, IDisposable
- 继承
-
Buffer
- 实现
- 继承成员
方法
Clone()
public Buffer Clone()
CloneObject()
protected override object CloneObject()
copyFromByteArray(byte[])
public void copyFromByteArray(byte[] src)
参数
src
copyFromByteArray(byte[], int, int, int)
public void copyFromByteArray(byte[] src, int srcIndex, int index, int length)
参数
srcsrcIndexindexlength
copyToByteArray(byte[])
public void copyToByteArray(byte[] dest)
参数
dest
copyToByteArray(int, byte[], int, int)
public void copyToByteArray(int index, byte[] dest, int destIndex, int length)
参数
indexdestdestIndexlength
create(int)
创建一个指定字节长度的Buffer。
public static Buffer create(int size)
参数
size
data()
返回原始内存地址。
public virtual IntPtr data()
memoryCopy(IntPtr, IntPtr, int)
复制原始内存。主要用于内存操作不完善的语言或环境。
public static void memoryCopy(IntPtr src, IntPtr dest, int length)
参数
srcdestlength
partition(int, int)
创建一个子Buffer,并引用原Buffer。一个Buffer在所有子Buffer释放后才会释放。
public virtual Buffer partition(int index, int length)
参数
indexlength
size()
Buffer的字节长度。
public virtual int size()
tryCopyFrom(IntPtr, int, int, int)
尝试从原始内存地址复制数据到Buffer中。如果复制成功,则返回true,否则返回false。失败的原因有:源数据范围或目标数据范围超出可用范围。
public virtual bool tryCopyFrom(IntPtr src, int srcIndex, int index, int length)
参数
srcsrcIndexindexlength
tryCopyTo(int, IntPtr, int, int)
尝试从Buffer复制数据到原始内存地址中。如果复制成功,则返回true,否则返回false。失败的原因有:源数据范围或目标数据范围超出可用范围。
public virtual bool tryCopyTo(int index, IntPtr dest, int destIndex, int length)
参数
indexdestdestIndexlength
wrap(IntPtr, int, Action)
包装一个指定长度的原始内存块。在Buffer被完全释放的时候,会调用deleter回调,执行用户自定义内存销毁行为。deleter必须是线程安全的。
public static Buffer wrap(IntPtr ptr, int size, Action deleter)
参数
ptrsizedeleter
wrapByteArray(byte[])
public static Buffer wrapByteArray(byte[] bytes)
参数
bytes
wrapByteArray(byte[], int, int)
public static Buffer wrapByteArray(byte[] bytes, int index, int length)
参数
bytesindexlength
wrapByteArray(byte[], int, int, Action)
public static Buffer wrapByteArray(byte[] bytes, int index, int length, Action deleter)
参数
bytesindexlengthdeleter