【问题标题】:Can I turn a awt image into a gwt image?我可以将 awt 图像转换为 gwt 图像吗?
【发布时间】:2013-02-14 13:08:18
【问题描述】:

有没有办法将 AWT 图像转换为 GWT 图像? 在服务器端,我将字节数组转换为图像:

public Image getImageData(byte[] imageByteArray)
{
     String base64 = Base64Utils.toBase64(imageByteArray);
     base64 = "data:image/png;base64," + base64;
     byte[] byteArray = base64.getBytes();
     //byte[] byteArray = BASE64Decoder.decode(imageByteArray);
     Image image = Toolkit.getDefaultToolkit().createImage(byteArray);
     image = createNewImage(image);
     return image;
}

private Image createNewImage(Image image)
{
    try
    {
        Label l = new Label();
        MediaTracker tracker = new MediaTracker(l);
        tracker.addImage(image, 0);
        tracker.waitForAll();
        return image;
    }
    catch (InterruptedException e)
    {
        e.printStackTrace();
    }
    return null;
}

现在我通过 RPC 将它发送到客户端,我想将它添加到我的 UiBinder 类中。但它需要一个 GWT 图像和

Toolkit.getDefaultToolkit().createImage(byteArray)

需要 AWT 图像。

【问题讨论】:

  • 为什么不向客户端发送base64字符串?
  • 确实有效。不知道为什么

标签: java image gwt awt transform


【解决方案1】:

GWT 不支持java.awt.anything。你必须使用GWT Image class

GWT != Java 

https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/wBryd0GbBT8

【讨论】:

  • sooo 我能以某种方式做到这一点 Image image = Toolkit.getDefaultToolkit().createImage(byteArray);并获得 gwt 图像?
  • 有人说我可能需要解码 byte[] 并且我必须使用媒体跟踪器。但是那个也需要awt图像...
  • 试过这个: public Image getImageData(byte[] imageByteArray) { String base64 = com.google.gwt.user.server.Base64Utils.toBase64(imageByteArray); base64 = "数据:图像/png;base64,"+base64;图像图像 = 新图像(base64);返回图像; }
  • GWT 源代码中的 Base64Utils 在将数据编码为 Base64 时不使用标准 MIME 字符。
猜你喜欢
  • 2012-12-04
  • 1970-01-01
  • 2012-07-31
  • 2011-05-05
  • 1970-01-01
  • 2022-06-24
  • 2021-03-12
  • 2016-10-03
  • 1970-01-01
相关资源
最近更新 更多