2010-11-21 116 views
0

我正在用Java編寫一個工具來處理我網站上傳的文件。我想以特定的方式管理圖片:如果尺寸大於限制,我想首先調整圖片大小,然後再檢查尺寸。當然,我不想做無用的工作,所以我想在重新制作它之前估計圖像的大小。目前,我使用BufferedImage將圖像存儲在內存中,但我找不到解決方法。 無論如何,你能幫我找到解決這個問題的正確方法嗎?Java BufferedImage分辨率

我的問題是提前知道調整大小的圖像的字節大小。如果最終字節大小仍超過工具用戶設置的限制,我不想進行大小調整。

回答

0

大小?大小的像素(應該是一些簡單的數學)或字節?對於後者,創建一個ByteArrayOutputStream並將其用作傳遞給ImageIO.write()的OutputStream。大小將是(類似於)baos.toByteArray()。length。

我猜你打算在客戶端做所有這些調整大小,因爲上傳之後做這件事情沒什麼意義。

+0

我的問題是提前知道調整大小的圖像的字節大小。如果最終字節大小仍超過工具用戶設置的限制,我不想進行大小調整。 – 2010-11-21 15:29:49

0

是否想知道之前的尺寸是否將其放入緩衝圖像中?否則,您可能會在緩存的圖像上使用getWidth()和getHeight(),並根據它們的大小來執行調整大小。設置一個PREFERRED_SIZE常量,並根據圖像相對於它的大小調整大小。你應該只需要執行一次調整。

0
+0

高度寬度和分辨率有差異。 – dharmendra 2013-02-28 07:04:08

+0

取決於你的決議意思。這裏,我的意思是像素分辨率http://en.wikipedia.org/wiki/Image_resolution#Pixel_resolution – 2013-02-28 09:54:14