java 中的 MAGIMAGEHEADER
MAGIMAGEHEADER in java
我正在 Java
中为 MAGIMAGEHEADER 创建 class
Winapi中MAGIMAGEHEADER的结构是
typedef struct tagMAGIMAGEHEADER {
UINT width;
UINT height;
WICPixelFormatGUID format;
UINT stride;
UINT offset;
SIZE_T cbSize;
} MAGIMAGEHEADER, *PMAGIMAGEHEADER;
我在 Java 中创建了一个等效的 class。
import java.util.Arrays;
import java.util.List;
public class MAGIMAGEHEADER extends com.sun.jna.Structure {
public int width;
public int height;
public Object format;
public int stride;
public int offset;
public int cbsize;
public List getFieldOrder() {
return Arrays.asList("width","height","format","stride","offset","cbsize");
}
}
我对 format
字段有疑问,如何在 Java 中定义 WICPixelFormatGUID?
我在 winapi 中没有找到 WICPixelFormatGUID
的任何结构。
如您 link 的文档所述,类型在 wincodec.h
中声明。在那里搜索类型,您会发现:
typedef /* [public] */ GUID WICPixelFormatGUID;
所以,毫不奇怪,它是 GUID
。
我认为这意味着您需要使用 com.sun.jna.platform.win32.Guid.GUID
。
我正在 Java
中为 MAGIMAGEHEADER 创建 classWinapi中MAGIMAGEHEADER的结构是
typedef struct tagMAGIMAGEHEADER {
UINT width;
UINT height;
WICPixelFormatGUID format;
UINT stride;
UINT offset;
SIZE_T cbSize;
} MAGIMAGEHEADER, *PMAGIMAGEHEADER;
我在 Java 中创建了一个等效的 class。
import java.util.Arrays;
import java.util.List;
public class MAGIMAGEHEADER extends com.sun.jna.Structure {
public int width;
public int height;
public Object format;
public int stride;
public int offset;
public int cbsize;
public List getFieldOrder() {
return Arrays.asList("width","height","format","stride","offset","cbsize");
}
}
我对 format
字段有疑问,如何在 Java 中定义 WICPixelFormatGUID?
我在 winapi 中没有找到 WICPixelFormatGUID
的任何结构。
如您 link 的文档所述,类型在 wincodec.h
中声明。在那里搜索类型,您会发现:
typedef /* [public] */ GUID WICPixelFormatGUID;
所以,毫不奇怪,它是 GUID
。
我认为这意味着您需要使用 com.sun.jna.platform.win32.Guid.GUID
。