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의 내용은 다른 thread에서 사용될 수 있으므로 수정해서는 안 됩니다.
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 |