2010-11-21 10 views
0

내 웹 사이트에 업로드 된 파일을 처리 할 수있는 도구를 Java로 작성하고 있습니다. 특정 방식으로 이미지를 관리하고 싶습니다. 크기가 제한보다 큰 경우 먼저 크기를 조정 한 다음 크기를 다시 확인하고 싶습니다. 당연히 나는 쓸데없는 일을하고 싶지 않기 때문에 이미지 크기를 예측하기 전에 크기를 추정하고 싶습니다. 지금은 BufferedImage를 사용하여 메모리에 이미지를 저장하지만 해상도를 알 수있는 방법을 찾을 수 없습니다. 어쨌든이 문제를 해결하는 올바른 방법을 찾도록 도와 줄 수 있습니까?Java BufferedImage 해상도

제 문제는 크기 조정 된 이미지의 크기를 미리 알기 바랍니다. 최종 바이트 크기가 도구 사용자가 설정 한 한도를 초과하는 경우 크기 조정을 수행하고 싶지 않습니다.

답변

0

크기? 픽셀 단위의 크기 (몇 가지 간단한 수학이어야 함) 또는 바이트? 후자의 경우 ByteArrayOutputStream을 만들어 ImageIO.write()에 전달 된 OutputStream으로 사용하십시오. 크기는 baos.toByteArray(). length와 비슷할 것입니다.

나는 클라이언트 측에서이 모든 크기 조정 작업을 수행하려는 것으로 추측합니다. 업로드 후 수행하면 거의 의미가 없습니다.

+0

내 문제가 사전에 크기가 조정 된 이미지의 크기를 바이트 단위로 알고있다? :. 최종 바이트 크기가 도구 사용자가 설정 한 한도를 초과하는 경우 크기 조정을 수행하고 싶지 않습니다. –

0

을 알고 싶다면을 버퍼링 된 이미지에 삽입 하시겠습니까? 그렇지 않으면 버퍼링 된 이미지에서 getWidth() 및 getHeight()를 사용하지 않고 크기가 너무 큰 것을 기준으로 크기 조정을 수행 할 수 있습니다. PREFERRED_SIZE 정수를 설정해, 거기에 상대적으로 너무 큰 이미지에 근거 해 사이즈를 변경합니다. 한 번만 크기 조정을 수행해야합니다. 이 같은

0
+0

높이 너비와 해상도에는 차이가 있습니다. – dharmendra

+0

해상도가 의미하는 바에 따라 다릅니다. 여기에서 픽셀 해상도 http://en.wikipedia.org/wiki/Image_resolution#Pixel_resolution을 의미했습니다. –