Image Class

这个类型是C#语言的 EasyAR Sense API: Image 。页面中部分描述可能与Unity环境无关。

部分Sense接口已经封装成Unity组件,直接使用可能是不必要的。

Description

Image存储了图像数据,用来表示内存中的图像。

Image以字节数组的方式提供了对原始数据的访问,同时也提供了访问width/height等信息的接口。

在EasyAR Sense的所有版本中,你都可以访问图像数据。

在iOS中可以这样访问

#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]);
    // use bytes here
    free(bytes);
}

在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);
    // use bytes here
    b.dispose();
    i.dispose();
    inputFrame.dispose();
    outputFrame.dispose();
}

Methods

buffer

C#

public virtual Buffer buffer()

返回图像中的数据buffer。可以使用 Buffer API访问内部数据。不应对获得的数据 Buffer 的内容进行修改,因为这些内容可能在其他线程被使用。

format

C#

public virtual PixelFormat format()

返回图像格式。

width

C#

public virtual int width()

返回图像宽度。图像数据的右方会有 pixelWidth - width 像素的padding。

height

C#

public virtual int height()

返回图像高度。图像数据的下方会有 pixelHeight - height 像素的padding。

pixelWidth

C#

public virtual int pixelWidth()

返回图像编码时使用的像素宽度。

pixelHeight

C#

public virtual int pixelHeight()

返回图像编码时使用的像素高度。