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