2012-04-11 83 views
3

我做的應用程序使用java SE進行圖像處理。我想在運行時檢查圖像是8位還是16位?然後根據那我做的圖像處理。因此,我如何檢查它在Java?如何檢查圖像是8位還是16位?

+0

你到目前爲止嘗試過什麼?你可以開始閱讀關於圖像格式[這裏](http://en.wikipedia.org/wiki/Image_format)。特別是關於圖像文件大小 – radimpe 2012-04-11 05:56:07

+0

的部分我讀過,但它不完全解決我的問題。我只想檢查圖像是在運行時在java中是8位還是16位? – Jay 2012-04-11 06:22:01

回答

1

這裏有一篇文章試圖讀取8位和24位bmp文件。 http://www.javaworld.com/javaworld/javatips/jw-javatip43.html?page=2

這試圖獲得的位數是這樣的:

int nbitcount = (((int)bi[15]&0xff)<<8) | (int)bi[14]&0xff 

一旦你得到這個數,您可以驗證此圖像類型的正是基於此位計數。

+0

有沒有任何方法直接檢查BufferedImage類型?意味着是8位圖像還是16位圖像? – Jay 2012-04-11 06:43:47

+0

不確定BufferedImage是否支持這種方式。 – UVM 2012-04-11 06:45:59

+1

其他任何檢查圖像位的方法或解決方案? – Jay 2012-04-11 08:09:13

1

如果您將圖像作爲BufferedImage讀取,您可以使用getType()方法。

+0

我檢查這個方法,但它不能正常工作,請給我其他解決方案 – Jay 2012-04-11 06:06:43

相關問題