Java 在J2me中显示Png图像

Java 在J2me中显示Png图像,java,java-me,midp,lcdui,Java,Java Me,Midp,Lcdui,我在显示PNG图像时遇到问题,因为JPG图像显示得非常好 下面是获取图像的代码 Image tImage=Image.createImage("/tasbeeh.jpg"); 然后绘制图像,但不适用于png Image tImage=Image.createImage("/tasbeeh.png"); 引发异常: java.lang.NullPointerException: 开始时。溅屏。油漆(+56) 在javax.microedition.lcdui.Canvas.callPaint(

我在显示PNG图像时遇到问题,因为JPG图像显示得非常好

下面是获取图像的代码

Image tImage=Image.createImage("/tasbeeh.jpg");
然后绘制图像,但不适用于png

Image tImage=Image.createImage("/tasbeeh.png");
引发异常:


java.lang.NullPointerException:
开始时。溅屏。油漆(+56)
在javax.microedition.lcdui.Canvas.callPaint(+85)
在javax.microedition.lcdui.Display.repaint(+82)

java.io.IOException
位于javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)
在javax.microedition.lcdui.ImmutableImage。(+20)
在javax.microedition.lcdui.Image.createImage(+8)
根据JavaDoc,要使该方法抛出异常,必须是因为源字符串为null。情况似乎并非如此。您的
MIDP
CLDC
版本可能存在问题


您可以尝试使用
Image.createImage
的其他实现,例如一个

我假设您得到的异常是一个非法的argumentException

如果第一个参数格式不正确或无法解码,将引发IllegalArgumentException

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

更新

)

getImageFromStream 抛出: IOException-如果流出现错误

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

您应该尝试使用诸如paint.net或photoshop之类的图形程序,并使用不同的位格式保存为PNG


我希望这能有所帮助。

它给了我空指针例外情况您使用的J2ME配置文件和供应商是什么?ava.lang.NullPointerException:at start.SplashScreen.paint(+56)at javax.microedition.lcdui.Canvas.callPaint(+85)at javax.microedition.lcdui.Display.repaint(+82)javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)javax.microedition.lcdui.ImmutableImage中的java.io.IOException。(+20)javax.microedition.lcdui.Image.createImage(+8)在res forlder?java.lang.NullPointerException中的两个图像:在start.SplashScreen.paint(+56)javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)处的java.io.IOException在javax.microedition.lcdui.ImmutableImage。(+20)