java - 在J2me中显示Png图像

标签 java java-me midp lcdui

我在显示 PNG 图像时遇到问题,而 JPG 图像显示得很好。

这是获取 Image 的代码。

Image tImage=Image.createImage("/tasbeeh.jpg");

然后绘制图像,但为 png

Image tImage=Image.createImage("/tasbeeh.png");

抛出异常:

java.lang.NullPointerException:
at start.SplashScreen.paint(+56)
at javax.microedition.lcdui.Canvas.callPaint(+85)
at javax.microedition.lcdui.Display.repaint(+82)

java.io.IOException
at javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)
at javax.microedition.lcdui.ImmutableImage.<init>(+20)
at javax.microedition.lcdui.Image.createImage(+8) 

最佳答案

我假设您得到的异常是 IllegalArgumentException,

如果第一个参数的格式不正确或无法解码,则会抛出 IllegalArgumentException。

因此,您很可能会因图像格式不受支持或数据被截断而收到错误。

更新

http://www.ai.univ-paris8.fr/~djedi/j2me-xml/midp20-src/javax/microedition/lcdui/ImmutableImage.html#getImageFromStream(java.io.InputStream )

从流中获取图像 throw : IOException - 如果流出现错误

因此,来自该 png 的数据流未按预期格式化,就像我说的图像格式不受支持或数据被截断。

您应该尝试使用 Paint.net 或 Photoshop 等图形程序,并保存为具有不同位格式的 PNG。

我希望这会有所帮助。

关于java - 在J2me中显示Png图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361324/

相关文章:

java - 如何定义Spring Integration errorChannel?

java - 基于文本搜索的算法未按预期运行

java - 使用自签名证书将 J2ME 应用程序连接到 https

java - 如何更改j2me netbeans 6.9模拟器

java - 找不到如何转换Tango点云

java-me - 如何控制多个 Rss 文件的流量

java-me - 列出j2me的所有记录

java - 无法手动将 SoapMessageHandler 添加到 SoapBinding

java - 使用JUnit5时,我收到警告: "ClassNotFoundException: org.junit.platform.engine.support.filter.ExclusionReasonConsumingFilter"

java - 无法在j2me应用程序中使用图像