Class Buffer
Buffer хранит сырые байтовые массивы и может использоваться для доступа к данным изображения.
В Java API можно получить buffer из Image и скопировать данные в Java-байтовый массив.
Во всех версиях EasyAR Sense вы можете получить доступ к данным изображения. См. Image.
Buffer
Методы
wrap
Обертывает блок необработанной памяти указанной длины. При полном освобождении Buffer вызывается обратный вызов deleter для выполнения пользовательского поведения уничтожения памяти. deleter должен быть потокобезопасным.
void easyar_Buffer_wrap(void * ptr, int size, easyar_FunctorOfVoid deleter, easyar_Buffer * * Return)
static std::shared_ptr<Buffer> wrap(void * ptr, int size, std::function<void()> deleter)
public static @Nonnull Buffer wrap(long ptr, int size, @Nonnull FunctorOfVoid deleter)
companion object fun wrap(ptr: Long, size: Int, deleter: FunctorOfVoid): Buffer
+ (easyar_Buffer *)wrap:(void *)ptr size:(int)size deleter:(void (^)())deleter
public static func wrap(_ ptr: OpaquePointer?, _ size: Int32, _ deleter: @escaping () -> Void) -> Buffer
public static Buffer wrap(IntPtr ptr, int size, Action deleter)
Параметры
| Имя |
Тип |
Описание |
| ptr |
IntPtr |
|
| size |
Int32 |
|
| deleter |
Action |
|
Возвращаемое значение
create
Создает Buffer указанной длины в байтах.
void easyar_Buffer_create(int size, easyar_Buffer * * Return)
static std::shared_ptr<Buffer> create(int size)
public static @Nonnull Buffer create(int size)
companion object fun create(size: Int): Buffer
+ (easyar_Buffer *)create:(int)size
public static func create(_ size: Int32) -> Buffer
public static Buffer create(int size)
Параметры
| Имя |
Тип |
Описание |
| size |
Int32 |
|
Возвращаемое значение
data
Возвращает исходный адрес памяти.
void * easyar_Buffer_data(const easyar_Buffer * This)
public func data() -> OpaquePointer?
public virtual IntPtr data()
Возвращаемое значение
size
int easyar_Buffer_size(const easyar_Buffer * This)
public func size() -> Int32
public virtual int size()
Возвращаемое значение
memoryCopy
Копирует необработанную память. В основном используется для языков или сред с несовершенными операциями с памятью.
void easyar_Buffer_memoryCopy(void * src, void * dest, int length)
static void memoryCopy(void * src, void * dest, int length)
public static void memoryCopy(long src, long dest, int length)
companion object fun memoryCopy(src: Long, dest: Long, length: Int): Unit
+ (void)memoryCopy:(void *)src dest:(void *)dest length:(int)length
public static func memoryCopy(_ src: OpaquePointer?, _ dest: OpaquePointer?, _ length: Int32) -> Void
public static void memoryCopy(IntPtr src, IntPtr dest, int length)
Параметры
| Имя |
Тип |
Описание |
| src |
IntPtr |
|
| dest |
IntPtr |
|
| length |
Int32 |
|
Возвращаемое значение
tryCopyFrom
Пытается скопировать данные из исходного адреса памяти в Buffer. Возвращает true в случае успеха, false в случае неудачи. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
bool easyar_Buffer_tryCopyFrom(easyar_Buffer * This, void * src, int srcIndex, int index, int length)
bool tryCopyFrom(void * src, int srcIndex, int index, int length)
public boolean tryCopyFrom(long src, int srcIndex, int index, int length)
fun tryCopyFrom(src: Long, srcIndex: Int, index: Int, length: Int): Boolean
- (bool)tryCopyFrom:(void *)src srcIndex:(int)srcIndex index:(int)index length:(int)length
public func tryCopyFrom(_ src: OpaquePointer?, _ srcIndex: Int32, _ index: Int32, _ length: Int32) -> Bool
public virtual bool tryCopyFrom(IntPtr src, int srcIndex, int index, int length)
Параметры
| Имя |
Тип |
Описание |
| src |
IntPtr |
|
| srcIndex |
Int32 |
|
| index |
Int32 |
|
| length |
Int32 |
|
Возвращаемое значение
tryCopyTo
Пытается скопировать данные из Buffer в целевой адрес памяти. Возвращает true в случае успеха, false в случае неудачи. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
bool easyar_Buffer_tryCopyTo(easyar_Buffer * This, int index, void * dest, int destIndex, int length)
bool tryCopyTo(int index, void * dest, int destIndex, int length)
public boolean tryCopyTo(int index, long dest, int destIndex, int length)
fun tryCopyTo(index: Int, dest: Long, destIndex: Int, length: Int): Boolean
- (bool)tryCopyTo:(int)index dest:(void *)dest destIndex:(int)destIndex length:(int)length
public func tryCopyTo(_ index: Int32, _ dest: OpaquePointer?, _ destIndex: Int32, _ length: Int32) -> Bool
public virtual bool tryCopyTo(int index, IntPtr dest, int destIndex, int length)
Параметры
| Имя |
Тип |
Описание |
| index |
Int32 |
|
| dest |
IntPtr |
|
| destIndex |
Int32 |
|
| length |
Int32 |
|
Возвращаемое значение
partition
Создает дочерний Buffer, ссылающийся на исходный Buffer. Buffer освобождается только после освобождения всех дочерних Buffer.
void easyar_Buffer_partition(easyar_Buffer * This, int index, int length, easyar_Buffer * * Return)
std::shared_ptr<Buffer> partition(int index, int length)
public @Nonnull Buffer partition(int index, int length)
fun partition(index: Int, length: Int): Buffer
- (easyar_Buffer *)partition:(int)index length:(int)length
public func partition(_ index: Int32, _ length: Int32) -> Buffer
public virtual Buffer partition(int index, int length)
Параметры
| Имя |
Тип |
Описание |
| index |
Int32 |
|
| length |
Int32 |
|
Возвращаемое значение
wrapByteArray
Обертывает байтовый массив.
public static @Nonnull Buffer wrapByteArray(byte @Nonnull[] bytes)
companion object fun wrapByteArray(bytes: Array<Byte>): Buffer
public static Buffer wrapByteArray(byte[] bytes)
Параметры
Возвращаемое значение
wrapByteArray
Обертывает байтовый массив. Можно указать начальную позицию и длину, определить, будет ли Buffer только для чтения или для чтения/записи (освобождение Buffer только для чтения может быть быстрее). Можно указать обратный вызов deleter, который будет вызван при полном освобождении Buffer для выполнения пользовательского поведения уничтожения памяти. deleter должен быть потокобезопасным.
public static @Nonnull Buffer wrapByteArray(byte @Nonnull[] bytes, int index, int length, boolean readOnly, @Nonnull FunctorOfVoid deleter)
companion object fun wrapByteArray(bytes: Array<Byte>, index: Int, length: Int, readOnly: Boolean, deleter: FunctorOfVoid): Buffer
Параметры
| Имя |
Тип |
Описание |
| bytes |
|
|
| index |
Int32 |
|
| length |
Int32 |
|
| readOnly |
Boolean |
|
| deleter |
Action |
|
Возвращаемое значение
wrapByteArray
Обертывает байтовый массив. Можно указать начальную позицию и длину.
public static Buffer wrapByteArray(byte[] bytes, int index, int length)
Параметры
| Имя |
Тип |
Описание |
| bytes |
|
|
| index |
Int32 |
|
| length |
Int32 |
|
Возвращаемое значение
wrapByteArray
Обертывает байтовый массив. Можно указать начальную позицию и длину. Можно указать обратный вызов deleter, который будет вызван при полном освобождении Buffer для выполнения пользовательского поведения уничтожения памяти. deleter должен быть потокобезопасным.
public static Buffer wrapByteArray(byte[] bytes, int index, int length, Action deleter)
Параметры
| Имя |
Тип |
Описание |
| bytes |
|
|
| index |
Int32 |
|
| length |
Int32 |
|
| deleter |
Action |
|
Возвращаемое значение
wrapBuffer
Обертывает java.nio.Buffer.
public static @Nonnull Buffer wrapBuffer(java.nio.@Nonnull Buffer directBuffer)
companion object fun wrapBuffer(directBuffer: java.nio.Buffer): Buffer
Параметры
| Имя |
Тип |
Описание |
| directBuffer |
|
|
Возвращаемое значение
wrapBuffer
Обертывает java.nio.Buffer. Можно указать обратный вызов deleter, который будет вызван при полном освобождении Buffer для выполнения пользовательского поведения уничтожения памяти. deleter должен быть потокобезопасным.
public static @Nonnull Buffer wrapBuffer(java.nio.@Nonnull Buffer directBuffer, @Nonnull FunctorOfVoid deleter)
companion object fun wrapBuffer(directBuffer: java.nio.Buffer, deleter: Action): Buffer
Параметры
| Имя |
Тип |
Описание |
| directBuffer |
|
|
| deleter |
Action |
|
Возвращаемое значение
copyFromByteArray
Копирует данные из байтового массива в Buffer. В случае неудачи выбрасывает исключение. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public void copyFromByteArray(byte @Nonnull[] src)
fun copyFromByteArray(src: Array<Byte>): Unit
public void copyFromByteArray(byte[] src)
Параметры
copyFromByteArray
Копирует данные из байтового массива в Buffer. В случае неудачи выбрасывает исключение. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public void copyFromByteArray(byte @Nonnull[] src, int srcIndex, int index, int length)
fun copyFromByteArray(src: Array<Byte>, srcIndex: Int, index: Int, length: Int): Unit
public void copyFromByteArray(byte[] src, int srcIndex, int index, int length)
Параметры
| Имя |
Тип |
Описание |
| src |
|
|
| srcIndex |
Int32 |
|
| index |
Int32 |
|
| length |
Int32 |
|
copyToByteArray
Копирует данные из Buffer в байтовый массив. В случае неудачи выбрасывает исключение. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public void copyToByteArray(byte @Nonnull[] dest)
fun copyToByteArray(dest: Array<Byte>): Unit
public void copyToByteArray(byte[] dest)
Параметры
copyToByteArray
Копирует данные из Buffer в байтовый массив. В случае неудачи выбрасывает исключение. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public void copyToByteArray(int index, byte @Nonnull[] dest, int destIndex, int length)
fun copyToByteArray(index: Int, dest: Array<Byte>, destIndex: Int, length: Int): Unit
public void copyToByteArray(int index, byte[] dest, int destIndex, int length)
Параметры
| Имя |
Тип |
Описание |
| index |
Int32 |
|
| dest |
|
|
| destIndex |
Int32 |
|
| length |
Int32 |
|
tryCopyFromByteArray
Копирует данные из байтового массива в Buffer. Возвращает true в случае успеха, false в случае неудачи. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public func tryCopyFromByteArray(_ src: [UInt8]) -> Bool
Параметры
Возвращаемое значение
tryCopyFromByteArray
Копирует данные из байтового массива в Buffer. Возвращает true в случае успеха, false в случае неудачи. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public func tryCopyFromByteArray(_ src: [UInt8], _ srcIndex: Int32, _ index: Int32, _ length: Int32) -> Bool
Параметры
| Имя |
Тип |
Описание |
| src |
|
|
| srcIndex |
Int32 |
|
| index |
Int32 |
|
| length |
Int32 |
|
Возвращаемое значение
tryCopyToByteArray
Копирует данные из Buffer в байтовый массив. Возвращает true в случае успеха, false в случае неудачи. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public func tryCopyToByteArray(_ dest: [UInt8]) -> Bool
Параметры
Возвращаемое значение
tryCopyToByteArray
Копирует данные из Buffer в байтовый массив. Возвращает true в случае успеха, false в случае неудачи. Причины неудачи: исходный или целевой диапазон данных выходит за пределы доступного диапазона.
public func tryCopyToByteArray(_ index: Int32, _ dest: [UInt8], _ destIndex: Int32, _ length: Int32) -> Bool
Параметры
| Имя |
Тип |
Описание |
| index |
Int32 |
|
| dest |
|
|
| destIndex |
Int32 |
|
| length |
Int32 |
|
Возвращаемое значение