Отображение Png изображения в J2me - PullRequest
0 голосов
/ 20 февраля 2012

У меня проблема с отображением изображения в формате PNG, когда изображение в формате JPG отображается очень хорошо.

Вот код получения изображения.

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) 

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Я предполагаю, что исключение, которое вы получаете, является IllegalArgumentException,

Выдается исключение IllegalArgumentException, если первый аргумент неправильно отформатирован или не может быть декодирован иным образом.

Таким образом, вы, скорее всего, получаете ошибкуиз-за неподдерживаемого формата изображения или усеченных данных.

Обновление

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

getImageFromStream Броски: IOException - если есть ошибка с потоком

Таким образом, поток данных, поступающих из этого png, не отформатирован должным образом, как я говорю, неподдерживаемый формат изображения или усеченные данные.

Вы должны попробовать использовать графическую программу, такую ​​как paint.net или photoshop, и сохранить ее в формате PNG с различными битовыми форматами.

Надеюсь, это поможет.

0 голосов
/ 20 февраля 2012

Согласно JavaDoc Image.createImage , для того, чтобы этот метод выдавал исключение, он должен быть, потому что исходная строка пуста.Это не похоже на случай.Это может быть проблема с вашей MIDP или CLDC версией.

Вы можете попробовать и использовать другие реализации Image.createImage, такие как this one.

...