Как преобразовать изображение PointerByReference в Byte [], а затем в BITMAP, используя JAVA / JNA?

Я использую 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");

есть ли способ продолжить?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector