Table of Contents

Class Image

Namespace
easyar

Image speichert Bilddaten und stellt ein Bild im Arbeitsspeicher dar. Image bietet Zugriff auf Rohdaten als Byte-Array sowie Schnittstellen für Informationen wie Breite/Höhe. In allen EasyAR Sense-Versionen können Sie auf Bilddaten zugreifen. In iOS erfolgt der Zugriff so:

#import <easyar/buffer.oc.h>
#import <easyar/image.oc.h>

easyar_OutputFrame * outputFrame = [outputFrameBuffer peek];
if (outputFrame != nil) {
    easyar_Image * i = [[outputFrame inputFrame] image];
    easyar_Buffer * b = [i buffer];
    char * bytes = calloc([b size], 1);
    memcpy(bytes, [b data], [b size]);
    // bytes hier verwenden
    free(bytes);
}

In Android:

import cn.easyar.*;

OutputFrame outputFrame = outputFrameBuffer.peek();
if (outputFrame != null) {
    InputFrame inputFrame = outputFrame.inputFrame();
    Image i = inputFrame.image();
    Buffer b = i.buffer();
    byte[] bytes = new byte[b.size()];
    b.copyToByteArray(0, bytes, 0, bytes.length);
    // bytes hier verwenden
    b.dispose();
    i.dispose();
    inputFrame.dispose();
    outputFrame.dispose();
}
Image

Konstruktoren

Image

void easyar_Image__ctor(easyar_Buffer * buffer, easyar_PixelFormat format, int width, int height, easyar_Image * * Return)
Image(std::shared_ptr<Buffer> buffer, PixelFormat format, int width, int height)
public Image(@Nonnull Buffer buffer, int format, int width, int height)
constructor(buffer: Buffer, format: Int, width: Int, height: Int)
+ (easyar_Image *) create:(easyar_Buffer *)buffer format:(easyar_PixelFormat)format width:(int)width height:(int)height
public convenience init(_ buffer: Buffer, _ format: PixelFormat, _ width: Int32, _ height: Int32)
public Image(Buffer buffer, PixelFormat format, int width, int height)

Parameter

Name Typ Beschreibung
buffer Buffer
format PixelFormat
width Int32
height Int32

Methoden

buffer

Gibt den Datenbuffer des Bildes zurück. Das Buffer-API ermöglicht Zugriff auf interne Daten. Die Inhalte des erhaltenen Buffer sollten nicht modifiziert werden, da sie von anderen Threads genutzt werden könnten.

void easyar_Image_buffer(const easyar_Image * This, easyar_Buffer * * Return)
std::shared_ptr<Buffer> buffer()
public @Nonnull Buffer buffer()
fun buffer(): Buffer
- (easyar_Buffer *)buffer
public func buffer() -> Buffer
public virtual Buffer buffer()

Rückgabewert

Typ Beschreibung
Buffer

format

Gibt das Bildformat zurück.

easyar_PixelFormat easyar_Image_format(const easyar_Image * This)
PixelFormat format()
public int format()
fun format(): Int
- (easyar_PixelFormat)format
public func format() -> PixelFormat
public virtual PixelFormat format()

Rückgabewert

Typ Beschreibung
PixelFormat

width

Gibt die Bildbreite zurück. Rechts der Bilddaten befindet sich ein Padding von pixelWidth - width Pixeln.

int easyar_Image_width(const easyar_Image * This)
int width()
public int width()
fun width(): Int
- (int)width
public func width() -> Int32
public virtual int width()

Rückgabewert

Typ Beschreibung
Int32

height

Gibt die Bildhöhe zurück. Unterhalb der Bilddaten befindet sich ein Padding von pixelHeight - height Pixeln.

int easyar_Image_height(const easyar_Image * This)
int height()
public int height()
fun height(): Int
- (int)height
public func height() -> Int32
public virtual int height()

Rückgabewert

Typ Beschreibung
Int32

pixelWidth

Gibt die beim Kodieren verwendete Pixelbreite zurück.

int easyar_Image_pixelWidth(const easyar_Image * This)
int pixelWidth()
public int pixelWidth()
fun pixelWidth(): Int
- (int)pixelWidth
public func pixelWidth() -> Int32
public virtual int pixelWidth()

Rückgabewert

Typ Beschreibung
Int32

pixelHeight

Gibt die beim Kodieren verwendete Pixelhöhe zurück.

int easyar_Image_pixelHeight(const easyar_Image * This)
int pixelHeight()
public int pixelHeight()
fun pixelHeight(): Int
- (int)pixelHeight
public func pixelHeight() -> Int32
public virtual int pixelHeight()

Rückgabewert

Typ Beschreibung
Int32

create

void easyar_Image_create(easyar_Buffer * buffer, easyar_PixelFormat format, int width, int height, int pixelWidth, int pixelHeight, easyar_Image * * Return)
static std::shared_ptr<Image> create(std::shared_ptr<Buffer> buffer, PixelFormat format, int width, int height, int pixelWidth, int pixelHeight)
public static @Nonnull Image create(@Nonnull Buffer buffer, int format, int width, int height, int pixelWidth, int pixelHeight)
companion object fun create(buffer: Buffer, format: Int, width: Int, height: Int, pixelWidth: Int, pixelHeight: Int): Image
+ (easyar_Image *)create:(easyar_Buffer *)buffer format:(easyar_PixelFormat)format width:(int)width height:(int)height pixelWidth:(int)pixelWidth pixelHeight:(int)pixelHeight
public static func create(_ buffer: Buffer, _ format: PixelFormat, _ width: Int32, _ height: Int32, _ pixelWidth: Int32, _ pixelHeight: Int32) -> Image
public static Image create(Buffer buffer, PixelFormat format, int width, int height, int pixelWidth, int pixelHeight)

Parameter

Name Typ Beschreibung
buffer Buffer
format PixelFormat
width Int32
height Int32
pixelWidth Int32
pixelHeight Int32

Rückgabewert

Typ Beschreibung
Image