Table of Contents

Class Image

名前空間
easyar

Image は画像データを格納し、メモリ内の image を表すために使用されます。 Image は元データへのアクセスを byte array として提供し、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();
}
Image

メソッド

buffer

image 内の data buffer を返します。内部データにアクセスするには Buffer API を使用できます。取得した Buffer の内容は、他のスレッドで使用されている可能性があるため変更しないでください。

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()

戻り値

説明
Buffer

format

image format を返します。

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()

戻り値

説明
PixelFormat

width

image width を返します。image data の右側には pixelWidth - width ピクセルの padding があります。

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()

戻り値

説明
Int32

height

image height を返します。image data の下側には pixelHeight - height ピクセルの padding があります。

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()

戻り値

説明
Int32

pixelWidth

image のエンコード時に使用される pixel width を返します。

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()

戻り値

説明
Int32

pixelHeight

image のエンコード時に使用される pixel height を返します。

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()

戻り値

説明
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) throws -> Image
public static Image create(Buffer buffer, PixelFormat format, int width, int height, int pixelWidth, int pixelHeight)

パラメーター

名前 説明
buffer Buffer
format PixelFormat
width Int32
height Int32
pixelWidth Int32
pixelHeight Int32

戻り値

説明
Image