我正在使用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");
有什么办法可以继续吗?