Я использую JNA для работы с библиотекой сканера «LSAPI.DLL», поэтому после сканирования я получаю параметр frontimg, который является указателем формата Dib, поэтому мне нужно преобразовать его в байт [], а затем преобразовать байт [] в растровое изображение и, наконец, сохранить отсканированное изображение на моем рабочем столе для проверки.
это метод, который дал мне указатель фронтима:
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");
есть ли способ продолжить?
Задача ещё не решена.
Других решений пока нет …