2015-09-05 199 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