[Java] 이미지 리사이징/용량

Sora Kim·2022년 5월 24일
0

java

목록 보기
2/5
public static void uploadFile() throws Exception {

  
  String filePath = "C:\home\upload\";
  //대상파일
  File file = new File(filePath+"aaa.jpg"); 

  InputStream inputStream = new FileInputStream(file);
  Image img = new ImageIcon(resizedFile.toString()).getImage();
  BufferedImage resizedImage = resize(inputStream, 100,100);
                                          //원하는 width, height 
  String resizedFilePath = filePath+"bbb.jpg";
  ImageIO.write(resizedImage,"jpg",new File(resizedFilePath)); 
  //리사이즈된 파일, 포맷, 저장경로

  // 리사이즈된 파일 용량 얻기 
  File resizedFile = new File(resizedFilePath); 
  long resizedFileSize = resizedFile2.length();
  

}

public static BufferedImage resize(InputStream inputStream, int width, int height) throws Exception {
	BufferedImage inputImage = ImageIO.read(inputStream); 
    //리사이즈 대상 이미지 읽기
    
    BufferedImage outputImage = new BufferedImage(width, height, inputImage.getType()); 
    //리사이즈될 사이즈
    
    Graphics2D g2 = outputImage.createGraphics();
    g2.drawImage(inputImage, 0, 0, width, height, null); 
    // 리사이즈되는 이미지 그리기
    g2.dispose(); 
    // 자원해제
    
    return outputImage;
    
}
비율에 맞춰서 리사이징 하고싶었는데 그냥 정해진 크기로 하라고 해서 .... 정해진 크기로 리사이징하고, 새로 리사이징 한 파일 용량 까지 구해서 db에 데이터 저장 완료!
이미지 사이즈를 측정하고싶으면
Image img = new ImageIcon(file.toString()).getImage();
System.out.println("넓이"+img.getWidth(null));
System.out.println("높이"+img.getHeight(null));
참고

https://bcdragonfly.tistory.com/11

profile
개발잘하고시풔!!!!!!!

0개의 댓글