2015-09-05 197 views
0

我在C#項目中使用IKVM庫。我可以使用這些庫定義一個BufferedImage,我也可以使用Bitmap作爲BufferedImage源,但有一個問題;將位圖轉換爲java.awt.image.BufferedImage

java.awt.image.BufferedImage fileZ =new java.awt.image.BufferedImage(new Bitmap(file)); 

以下是錯誤:

An exception of type 'System.TypeInitializationException' occurred in IKVM.OpenJDK.SwingAWT.dll but was not handled in user code 

Additional information: The type initializer for 'java.awt.image.ColorModel' threw an exception. 

文件是一個字符串是指一個位圖文件。 我已經添加了這些引用到我的項目:

IKVM.OpenJDK.Core 
IKVM.OpenJDK.SwingAWT 
IKVM.OpenJDK.Util 
IKVM.Runtime 

我怎樣才能解決這個問題呢?

+0

說明需要:您可以上傳位圖圖像,以便我們可以查看它嗎?現在看起來錯誤出現在位圖中,或者在嘗試讀取時必須提供附加信息。 – MichaelK

+0

它不僅是一個靜態圖像,只是你認爲的每個文件夾都有不同類型的圖像。 – Nofuzy

+0

請創建一個[mcve]。並且包含您從中獲得的錯誤,包括堆棧跟蹤。 – RealSkeptic

回答

1

您的問題沒有足夠的信息來回答。但是,this post與您的任務有關。特別感興趣的是:

BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); 

最後一個參數指定圖像類型。

BufferedImage class中的其他構造函數還處理顏色模型。去看一下。

+0

剛剛更新了我的問題。 – Nofuzy

+0

我試圖添加每個IKVM DLL作爲參考,但我仍然有錯誤,即使如果我嘗試通過您的代碼創建BufferedImage :( – Nofuzy