我的Java J2SE應用程序正在從網上閱讀大量(png)圖像,其中一些應用程序使用Sun's/Oracle的PNGImageReader(真彩色圖像)的透明色(tRNS部分)實施簡單地忽略。用於加載PNG圖像的替代品庫
因此,通過ImageIO.read(...);
加載的常見解決方案對我無效,因爲它依賴於此不完整的PNGImageReader實現。
有沒有人知道一個PNG閱讀器的實現,可以正確讀取所有形式的PNG圖像 - 那些與顏色表或真正的顏色和alpha透明度或透明的顏色?
因爲它是一個GPL項目,它應該是一個非商業性的應用程序,可以不包含許可問題。
編輯:我是這個問題太具體。因此,讓我們重新設計我的問題:
誰知道可以加載PNG文件的替代實現和庫?
然後,我將測試它們的實現以加載一些test png images的功能。
EDIT2:最終結果必須是一個BufferedImage
首先,我認爲這不能工作,因爲它會在內部使用相同的圖像閱讀器。有趣的是,這真的工作 - 透明度正確加載,但返回的圖像是一個sun.awt.image.ToolkitImage,但我需要一個java.awt.image.BufferedImage。創建一個新的BufferedImage並在其上繪製ToolkitImage的常用方法不能用於未知原因(無例外)。 – Robert 2010-12-15 18:40:47