代码之家  ›  专栏  ›  技术社区  ›  sv_in

从方法返回gif图像

  •  2
  • sv_in  · 技术社区  · 18 年前

    我正在用java创建一个应用程序,它将成为外部应用程序的一部分。我的应用程序包含一个视口,可以显示一些多边形和类似的东西。外部应用程序需要获取gif格式的视口图像。为此,它调用接口中的一个方法(由我的应用程序实现),然后应用程序返回图像。外部应用程序需要将图像存储在数据库中(或与之相关的东西,我不需要担心)。

    我的问题是:当我的应用程序将图像发送到外部应用程序时,图像的数据容器类型应该是什么?我的意思是,该方法的返回类型应该是什么? 目前,我的gif编码器类返回一个字节数组。还有其他“更好”的选择吗?

    4 回复  |  直到 18 年前
        1
  •  3
  •   Jason Cohen    18 年前

    如果您希望GIF很小,字节数组可能是合适的,但您可能会考虑使用 OutputStream 因此,您可以更高效地传输比特。

    即使今天你只是返回一个完全填充的 ByteArrayOutputStream ,这将允许您在将来更改实现,而不会影响cilent代码。

        2
  •  2
  •   Neal Swearer    18 年前

    一个更直观的返回类型可能是java.awt。图像。

    以下是一些示例: http://www.google.com/codesearch?q=java+gif+image&hl=en&btnG=Search+Code

        3
  •  0
  •   DJClayworth    18 年前

    如果你的“应用程序”实际上正在调用Java方法,那么它应该理解Java返回类型,你应该返回Java.awt.image。

    如果你通过某种无法理解Java类型的远程过程来实现这一点,我会返回一个字节数组,让接收应用程序对其进行解码。

        4
  •  0
  •   asalamon74    17 年前

    我会创建两个方法:

    1. 第一种方法创建图像并返回 java.awt.Image 在这里,你可以把方法的绘图部分放在这里。
    2. 第二种方法创建gif表示 java.awt。形象 根据外部应用程序的请求。它应该会回来 OutputStream 正如已经建议的那样。