2012-03-21 4 views
0

내 응용 프로그램의 이미지가 200x200 픽셀 이상이고 이미지 크기가 150kB보다 큰지 확인하고 싶습니다. 예를 들어, 이미지의 파일 크기가 150KB보다 크다면 150KB로 만들 필요가 있습니다. 이미지 형식 JPEG, PNG 등이 될 수 자바에서 이미지 크기 줄이기

I가 주어진 폭과 높이

private BufferedImage resize(BufferedImage img, int newW, int newH) { 
     int w = img.getWidth(); 
     int h = img.getHeight(); 
     BufferedImage dimg = new BufferedImage(newW, newH, img.getType()); 
     Graphics2D g = dimg.createGraphics(); 
     g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 
     g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null); 
     g.dispose(); 
     return dimg; 
    } 

에 이미지 크기를 조정하되 파일 크기를 줄여 가야하는 방법을 잘 메신저에 대한 다음 코드 150 kB. 어떻게 자바에서 그것을 할 수 있습니까?. 일부 예제는 정말 감사하겠습니다.

당신은

+2

다음 내용을 확인하십시오. 렌더링 된 이미지의 크기를 줄이려고하십니까? (이 질문의 제목에 언급되어있는 경우, 그럴 경우 소유 한 코드의 문제점) 또는 파일 크기 당신은 마지막 줄 중 하나에)? –

+0

파일 크기 줄이기 – Kris

답변

1

마찬가지로 옵션 - image magic - 또한 Java 용 편리한 래퍼가 있으므로 쉽게 사용할 수 있습니다.

0

에만 이미지를 여러 번 rezise 수 결정된 파일 크기 이하로 얻을 주셔서 감사합니다.

1

귀하의 질문에 실제적인 관련성이 있습니까? 아니면 이론적입니까?

24 비트의 색 농도를 갖는 200x200 픽셀 이미지는 압축되지 않고 117kB가 필요합니다. 합리적인 JPEG 인코더를 사용하면 해당 이미지에 대해 150kB를 초과하지 않습니다.