Как проверить, низкое ли качество изображения - PullRequest
0 голосов
/ 17 марта 2020

Я занимаюсь разработкой приложения PhotoBook, в котором мне нужно уведомить пользователя, если он добавит изображение с низким разрешением. Мне просто нужно показать предупреждение «Изображение в низком разрешении, возможно, печать затронута», как в приложении «Чаты».

Ответы [ 4 ]

1 голос
/ 17 марта 2020
int file_size = Integer.parseInt(String.valueOf(file.length() / 1024));     
if (file_size < 100){
   Log.v(TAG, "Low resolution image");
 }else{
  Log.v(TAG, "");
 }
0 голосов
/ 17 марта 2020

Вы можете проверить ширину и высоту изображения и, таким образом, решить, какое разрешение подходит, чтобы классифицировать его как низкое качество.

public void checkQuality() {
    String filePathTmp = new File("").getAbsolutePath();//getCanonicalPath();
    //notice you must use you image path
    Path filePath = Paths.get(filePathTmp, "\\YOUR\\PARTH\\IMAGE.png").normalize(); 

    ImageIcon imageIcon = new ImageIcon(filePath.toString());
    int height = imageIcon.getIconHeight();
    int width = imageIcon.getIconWidth();
    System.out.println("HEIGHT: " + height + "--" + "WIDTH" + width);

    //change values, consider your own criteria low quality
    if (height <100 || width <100){
        System.out.println("Low quality");
    }
}
0 голосов
/ 17 марта 2020

Если у вас есть объект Bitmap, вы можете проверить наличие bitmap.getWidth () и getHeigth ()

0 голосов
/ 17 марта 2020

Вы можете конвертировать изображение в растровое изображение и проверять его высоту и ширину, и с его помощью вы можете проверить разрешение изображения. если изображение из рисунка,

 Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.back);
 bmp.getWidth(), bmp.getHeight();

если изображение из uri

  Uri imageUri = data.getData();
    Bitmap bitmap = 
  MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
  bitmap.getWidth(), bmp.getHeight();

, сделайте проверку, если высота и ширина изображения меньше, чем нужно, чем показывать предупреждение

...