【问题标题】:How to best generate a Image from existing PNGs?如何最好地从现有的 PNG 生成图像?
【发布时间】:2015-08-19 21:14:41
【问题描述】:

技术问题: 在 App Engine 服务器上,我想通过加载和处理许多其他 PNG 来生成图像(最好是 PNG,但不一定)。然后我想将此图像传输到使用 GWT 编程的客户端。 我尝试使用 java.awt 库,但我得到了

Google App Engine 的 Java 运行时环境不支持 java.awt.Image

我可以使用 java/gwt/App Engine 中的其他任何东西来执行此操作,还是必须使用其他库?如果是这样,您是否可以建议任何不依赖于 App Engine 不支持的东西的东西?

有兴趣者的背景: 我正在写一个关于太空船的小型多人浏览器游戏。用户可以从不同的模块(以 PNG 格式提供)构建他的船。在地图(Canvas 类)上,我想显示其他用户的船只,这应该是他们建造的船只的最小化版本。所以我的想法是在构建时生成并保存图像(这不应该经常发生),然后将其交付给其他用户。

【问题讨论】:

    标签: java google-app-engine gwt


    【解决方案1】:

    Image API 工作正常,但传输图像是下一个问题:com.google.appengine.api.images.Image 在 GWT 客户端不可用,我必须在这里使用com.google.gwt.user.client.ui.Image

    一种可能的方法是将图像编码为 Base64 并将其作为字符串传输。服务器端:

    // image is an instance of com.google.appengine.api.images.Image
    return "data:image/png;base64," + Base64.encodeToString(image.getImageData());
    

    在客户端,这个字符串可以很容易地处理:

    com.google.gwt.user.client.ui.Image image = new Image(theBase64String);
    

    需要注意的是,许多 Base64 实现会产生构造函数com.google.gwt.user.client.ui.Image 无法理解的编码。有关详细信息,请参阅this 问题。

    【讨论】:

      【解决方案2】:

      我会考虑Image API,如有必要,可以考虑来自 Google 的 File System API - 它们非常好用且易于使用。认为您应该使用这些工具来实现您的目标。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 2016-12-03
        • 1970-01-01
        • 1970-01-01
        • 2011-06-18
        • 1970-01-01
        • 2019-01-03
        相关资源
        最近更新 更多