Class Buffer
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Buffer speichert ein Array von Rohbytes und kann verwendet werden, um auf Bilddaten zuzugreifen. In der Java API kann der Buffer von `Image`_ abgerufen und Daten in ein Java-Byte-Array kopiert werden. In allen Versionen von EasyAR Sense können Sie auf Bilddaten zugreifen. Siehe `Image`_.
public class Buffer : RefBase, IDisposable
- Vererbung
-
Buffer
- Implementiert
- Geerbte Mitglieder
Methoden
Clone()
public Buffer Clone()
CloneObject()
protected override object CloneObject()
copyFromByteArray(byte[])
public void copyFromByteArray(byte[] src)
Parameter
src
copyFromByteArray(byte[], int, int, int)
public void copyFromByteArray(byte[] src, int srcIndex, int index, int length)
Parameter
srcsrcIndexindexlength
copyToByteArray(byte[])
public void copyToByteArray(byte[] dest)
Parameter
dest
copyToByteArray(int, byte[], int, int)
public void copyToByteArray(int index, byte[] dest, int destIndex, int length)
Parameter
indexdestdestIndexlength
create(int)
Erstellt einen Buffer mit angegebener Byte-Länge.
public static Buffer create(int size)
Parameter
size
data()
Gibt die rohe Speicheradresse zurück.
public virtual IntPtr data()
memoryCopy(IntPtr, IntPtr, int)
Kopiert den Rohspeicher. Hauptsächlich für Sprachen oder Umgebungen mit unvollständiger Speicherverwaltung verwendet.
public static void memoryCopy(IntPtr src, IntPtr dest, int length)
Parameter
srcdestlength
partition(int, int)
Erstellt einen Sub-Buffer, der auf den ursprünglichen Buffer verweist. Ein Buffer wird erst freigegeben, wenn alle seine Sub-Buffer freigegeben sind.
public virtual Buffer partition(int index, int length)
Parameter
indexlength
size()
Die Byte-Länge des Buffers.
public virtual int size()
tryCopyFrom(IntPtr, int, int, int)
Versucht, Daten von einer rohen Speicheradresse in den Buffer zu kopieren. Gibt true zurück, wenn der Kopiervorgang erfolgreich war, andernfalls false. Mögliche Fehlerursachen: Quell- oder Zielbereich überschreitet den verfügbaren Bereich.
public virtual bool tryCopyFrom(IntPtr src, int srcIndex, int index, int length)
Parameter
srcsrcIndexindexlength
tryCopyTo(int, IntPtr, int, int)
Versucht, Daten aus dem Buffer an eine rohe Speicheradresse zu kopieren. Gibt true zurück, wenn der Kopiervorgang erfolgreich war, andernfalls false. Mögliche Fehlerursachen: Quell- oder Zielbereich überschreitet den verfügbaren Bereich.
public virtual bool tryCopyTo(int index, IntPtr dest, int destIndex, int length)
Parameter
indexdestdestIndexlength
wrap(IntPtr, int, Action)
Umschließt einen Rohspeicherblock mit angegebener Länge. Wenn der Buffer vollständig freigegeben wird, wird der Deleter-Callback aufgerufen, um benutzerdefinierte Speicherbereinigungsaktionen auszuführen. Der Deleter muss threadsicher sein.
public static Buffer wrap(IntPtr ptr, int size, Action deleter)
Parameter
ptrsizedeleter
wrapByteArray(byte[])
public static Buffer wrapByteArray(byte[] bytes)
Parameter
bytes
wrapByteArray(byte[], int, int)
public static Buffer wrapByteArray(byte[] bytes, int index, int length)
Parameter
bytesindexlength
wrapByteArray(byte[], int, int, Action)
public static Buffer wrapByteArray(byte[] bytes, int index, int length, Action deleter)
Parameter
bytesindexlengthdeleter