2016-08-22 2 views
1

Ограничение высоты и ширины img в коде ниже (получить изображение из галереи, а затем загрузить), но я хочу ограничить размер изображения (т. Е. 1 МБ, а не ширина и высота). Предупреждение должно содержать более 1 МБ. Как я могу получить размер в байтах изображения?Ограничение размера изображения (до 1 МБ) при загрузке

uploadImg.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent evt) { 

     Display.getInstance().openGallery(new ActionListener() { 

      public void actionPerformed(ActionEvent evt) { 
       try { 
        if (evt == null) { 
         System.out.println("user cancelled"); 
         return; 
        } 

        eventImgpath = (String) evt.getSource(); 
        Image i = Image.createImage(eventImgpath); 
        if (i.getWidth() < 800 && i.getHeight() < 267) { 
         eventImage.setIcon(i.scaledWidth(Display.getInstance().getDisplayWidth())); 
        } else { 
         ToastBar.showErrorMessage("Please check the size of the image: Height= 800 & Width= 267", 5000); 
        } 
        eventImage.getParent().revalidate(); 
       } catch (Exception ex) { 
        ex.printStackTrace(); 
       } 
      } 
     }, Display.GALLERY_IMAGE); 
    } 
}); 

ответ

0

Невозможно ограничить размер в байтах. В качестве обходного пути вы можете уменьшить разрешение и проверить полученный размер выходного файла. Например. для FileSystemStorage вы можете использовать метод getLength и для Storage вы можете использовать метод entrySize.

Смежные вопросы