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()
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