将Bitmap转换为java.awt.image.BufferedImage

时间:2015-09-05 11:39:36

标签: java ikvm

我在C#项目中使用IKVM库。我可以使用这些库定义一个BufferedImage,我也可以使用Bitmap作为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.

file是一个字符串,指的是位图文件。 我已将这些引用添加到我的项目中:

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的问题没有足够的信息可以回答。但是,this post与您的任务相关。特别感兴趣的是这一行:

public override string GetVaryByCustomString(HttpContext context, string custom)
{
  if (custom.Equals("RequestVerificationTokenCookie", StringComparison.OrdinalIgnoreCase))
  {
    string verificationTokenCookieName =
      context.Request.Cookies
        .Cast<string>()
        .FirstOrDefault(cn => cn.StartsWith("__requestverificationtoken", StringComparison.InvariantCultureIgnoreCase));
    if (!string.IsNullOrEmpty(verificationTokenCookieName))
    {
      return context.Request.Cookies[verificationTokenCookieName].Value;
    }
  }
  return base.GetVaryByCustomString(context, custom);
}

最后一个参数指定图像类型。

BufferedImage class中的其他构造函数也处理颜色模型。检查一下。