Как рассчитать DPI буферизованного изображения с использованием Java - PullRequest
0 голосов
/ 16 октября 2019

Во-первых, мне нужно преобразовать изображение в Base64, а затем вычислить DPI изображения, преобразовав base64 в буферизованное изображение.

Вот код, который я пробовал и который хорошо работает для image.PNG (.png), но возвращают -1 (неправильный вывод) в других форматах, таких как (.jpg) ...! Но мне нужно, чтобы это работало и для других форматов.

 private static float base64toBuffer(String inputbuffer) throws IOException, ImageReadException{
         byte[] Rimage=decodeToImage(inputbuffer);
       final org.apache.sanselan.ImageInfo imageInfo = Sanselan.getImageInfo(Rimage);
       final int physicalWidthDpi = imageInfo.getPhysicalWidthDpi();
       final int physicalHeightDpi = imageInfo.getPhysicalHeightDpi();
        return physicalWidthDpi;

    }
     private static byte[] buffertoByte(String imageString) {

        byte[] imageByte;
        try {
            BASE64Decoder decoder = new BASE64Decoder();
            imageByte = decoder.decodeBuffer(imageString);
            return imageByte;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
...