【问题标题】:J2ME in Netbeans (gif image problem)Netbeans 中的 J2ME(gif 图像问题)
【发布时间】:2010-09-29 10:09:39
【问题描述】:

我正在创建一个室内导航应用程序(目的是让用户可以在手机文件系统中存储不同建筑物的地图)。该应用程序通过要求用户选择所需建筑物的地图来启动。选择此选项后,将使用文件解析器来解析和转换文件中的地图数据。在发生这种情况时,我创建了一个等待屏幕,说请稍候......并且还放置了一个加载/处理图像,它是一个 gif。但是当我在 Sun 的 WTK 模拟器中运行它时,gif 并没有改变,它变成了静态图片。顺便说一句,我为此使用了 Netbeans 6.1。有任何想法吗?非常感谢。

【问题讨论】:

    标签: image netbeans java-me wait gif


    【解决方案1】:

    旧手机不支持 gif 图像处理,正如 Nokia forum 中所述。

    然而,Dobb 博士期刊中的 article 使用免费提供的 GifEncoder.java 类提供了关于“在 J2ME 手机上显示 GIF 图像”的解决方案。 它的 J2ME 端口可从同一页面here 获得。

    【讨论】:

    • 我同意,JavaME VM 中的 PNG 比 GIF 更受支持。例如,三星 E250 在其 J2ME 中不进行 GIF 渲染,但可以进行 PNG 和 JPEG(这是来自我们在应用程序中运行的测试)。
    【解决方案2】:

    默认情况下,MIDP 不支持动画 gif,因此如果您真的想播放动画 gif,则需要使用 MMAPI。我建议您将动画拆分为单独的文件并手动制作动画。这是最便携的方式。

    此代码可让您在最后播放动画 gif

    InputStream is = getClass().getResourceAsStream("/OceanFish.gif");
    DataInputStream di = new DataInputStream(is);
    StaticAnimation simage = StaticAnimation.createAnimation(di);
    

    但我不建议这样做,因为它不是很便携。

    【讨论】:

      【解决方案3】:

      也许不是理想的解决方案,但您始终可以将 gif 动画帧提取到 png 格式的精灵表,然后使用 Sprite 类来处理动画。由于 Sprite 类是 MIDP 2 标准的一部分,因此这将更加可移植。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-06
        • 2017-03-20
        • 1970-01-01
        • 2011-04-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多