使用 java 和 jna 我调用了一个函数:trace(potrace_bitmap_s)
struct potrace_bitmap_s {
int w, h;
int dy; /* scanline offset in words */
potrace_word *map; /* pixel data, dy*h words */
};
typedef struct potrace_bitmap_s potrace_bitmap_t;
w, h: 位图的宽度和高度
在图书馆的文档中发现了这个
这里,potrace_word 是在 potracelib.h 中定义的无符号整数类型。它通常等于本机机器字(即,32 位架构上的 32 位)。在下面的解释中,我们假设 potrace_word 类型包含 N 位。
尺寸为 w*h 的位图从下到上被划分为 h 个水平扫描线。每条扫描线从左到右划分为 N 个像素块。每个这样的 N 像素块存储为单个 potrace_word,块的最左边的像素对应于该字的最高有效位,而该块的最右边的像素对应于该字的最低有效位。“开”(或“黑”或“前景”)的像素由位值 1 表示。“关”(“白”或“背景”)的像素由位值 0 表示。如果扫描线中的位不能被 N 整除,则扫描线最右边的字在右边用零填充。扫描线 0(最底部的扫描线)的数据从 map[0] 开始。扫描线 1 的数据从 map[dy] 开始。扫描线 2 的数据从 map[2*dy] 开始,依此类推。请注意,dy 可以是正数或负数,具体取决于应用程序希望如何在内存中布置图像数据。
但我不明白如何在 java map 中表示。
public class Potrace_bitmap_t extends Structure{
int w, h; /* width and height, in pixels */
int dy; /* scanline offset in words */
map ??; /* pixel data, dy*h words */
}