Table of Contents

Class Buffer

Пространство имен
easyar
Сборка
EasyAR.Sense.dll

Buffer хранит исходный массив байтов и может использоваться для доступа к данным изображения. В Java API можно получить buffer из `Image`_, а затем 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)

Параметры

src
srcIndex
index
length

copyToByteArray(byte[])

public void copyToByteArray(byte[] dest)

Параметры

dest

copyToByteArray(int, byte[], int, int)

public void copyToByteArray(int index, byte[] dest, int destIndex, int length)

Параметры

index
dest
destIndex
length

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)

Параметры

src
dest
length

partition(int, int)

Создает sub-Buffer и ссылается на исходный Buffer. Buffer освобождается только после освобождения всех sub-Buffers.

public virtual Buffer partition(int index, int length)

Параметры

index
length

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)

Параметры

src
srcIndex
index
length

tryCopyTo(int, IntPtr, int, int)

Пытается скопировать данные из Buffer в сырой адрес памяти. Возвращает true при успешном копировании, иначе false. Причины сбоя включают выход диапазона исходных или целевых данных за доступный диапазон.

public virtual bool tryCopyTo(int index, IntPtr dest, int destIndex, int length)

Параметры

index
dest
destIndex
length

wrap(IntPtr, int, Action)

Оборачивает блок сырой памяти заданной длины. Когда Buffer полностью освобождается, вызывается callback deleter для выполнения пользовательского уничтожения памяти. deleter должен быть thread-safe.

public static Buffer wrap(IntPtr ptr, int size, Action deleter)

Параметры

ptr
size
deleter

wrapByteArray(byte[])

public static Buffer wrapByteArray(byte[] bytes)

Параметры

bytes

wrapByteArray(byte[], int, int)

public static Buffer wrapByteArray(byte[] bytes, int index, int length)

Параметры

bytes
index
length

wrapByteArray(byte[], int, int, Action)

public static Buffer wrapByteArray(byte[] bytes, int index, int length, Action deleter)

Параметры

bytes
index
length
deleter