我的 midlet 可以正常显示一些图像,但不能正常显示其他图像。
它们都是 8 位 PNG,但没有显示的是我自己在 PhotoShop 中创建的。
所以我想也许我的 PhotoShop (CS6) 设置是错误的......
PNG-8,选择性,扩散,颜色:256,抖动:100%,无光泽:无,Web Snap:0%,转换为 sRGB:勾选,宽度:48,高度:48,百分比:100%,质量:双三次。
我已经尝试了其中一些设置,但无济于事。
有任何想法吗?
这里有一个类似的问题,但这与我的相反,因为 PhotoShop 在这种情况下会修补东西,而不是破坏东西......
我的代码是...
image = Image.createImage("/img/loading1.png");
...这是我的堆栈跟踪:
java.io.EOFException
at javax.imageio.stream.ImageInputStreamImpl.readFully(
ImageInputStreamImpl.java:353)
at java.io.DataInputStream.readUTF(DataInputStream.java:609)
at javax.imageio.stream.ImageInputStreamImpl.readUTF(ImageInputStreamImpl.java:332)
at com.sun.kvem.png.PNGImageReader.parse_iTXt_chunk(PNGImageReader.java:447)
at com.sun.kvem.png.PNGImageReader.readMetadata(PNGImageReader.java:650)
at com.sun.kvem.png.PNGImageReader.readImage(PNGImageReader.java:1312)
at com.sun.kvem.png.PNGImageReader.read(PNGImageReader.java:1582)
at com.sun.kvem.midp.GraphicsBridge.loadImage(GraphicsBridge.java:2602)
at com.sun.kvem.midp.GraphicsBridge.createImageFromData(GraphicsBridge.java:2511)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.kvem.sublime.MethodExecution.process(MethodExecution.java:42)
at com.sun.kvem.sublime.SublimeExecutor.processRequest(SublimeExecutor.java:63)
at javax.microedition.lcdui.Image.createImage(Image.java:315)
有问题的图像确实存在 - 无论是在项目中还是在构建的 jar 中。
这是有问题的图像: