0

我正在使用 JNA 与扫描仪的库“LSAPI.DLL”一起工作,因此,扫描后我得到一个 frontimg 参数,它是 Dib 格式的指针,所以我必须将其转换为 Byte[] 然后转换 Byte [] 到位图,最后将扫描的图像保存在我的桌面上进行测试。

这是给我 frontimg 指针的方法:

int a1 = lsApi.LSReadImage(hConnect.getValue(), fgWindow, LsApiConst.CLEAR_ALL_BLACK, (char) LsApiConst.SIDE_FRONT_IMAGE, LsApiConst.READMODE_BRUTTO, NrDoc, frontimg, backimg, R1, R2);

我试图从这个开始,但它不起作用:

Pointer p = frontimg.getValue();
byte[] buffer = p.getByteArray(0, frontimg.getValue().SIZE);
BufferedImage img = ImageIO.read(new ByteArrayInputStream(buffer));
    ImageIO.write(img,"BMP", new File("D:/image.BMP")); 
    System.out.println("image created");

有什么办法可以继续吗?

4

0 回答 0