JAVA IMAGE 파일 해상도 구하기
java image 파일 변환에 대해서 많은 고민을 했었는데..
결론적으로는 어떻게 하든 파일을 변환 하는데 어느정도 자원을 소비 한다. 특히 작은 1~2개 파일이 아니고 다수의 파일이라면
더욱더 많은 자원을 소비하는 것을 느낄수 있다.
* ImageIO
BufferedImage bi = ImageIO.read(file);
map.put("imageWidth", bi.getHeight());
map.put("imageHeight", bi.getWidth());
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis, 8192); //8K reads
BufferedImage image = ImageIO.read(bis);
map.put("imageWidth", image.getWidth());
map.put("imageHeight", image.getHeight());
byte[] buffer=new byte[(int)file.length()];
new FileInputStream(file).read(buffer);
BufferedImage image = ImageIO.read(new ByteArrayInputStream(buffer));
map.put("imageWidth", image.getWidth());
map.put("imageHeight", image.getHeight());
* ImageIcon
image = new ImageIcon(file.getPath()).getImage();
map.put("imageWidth", image.getWidth(null));
map.put("imageHeight",image.getHeight(null));
image = Toolkit.getDefaultToolkit().getImage(file.getPath());
icon = new ImageIcon(image);
map.put("imageWidth", icon.getIconWidth());
map.put("imageHeight", icon.getIconHeight());
내가 내린 결론은 따로 첨부파일을 올릴때 메타 파일에 이미지 해상도를 저장하여 관리하는 것이 가장 좋을 것으로 예상한다.