У меня была такая же проблема с моим MIDLET, и проблема в моем случае была HTTP-заголовком, который сопровождается изображением JPEG, которое я читал из InputStream сокета. И я решил это, найдя маркер JPEG SOI, который идентифицируется двумя байтами: FFD8
в моем массиве байтов. Затем, когда я нахожу местоположение FFD8
в моем байтовом массиве, я обрезаю начальные байты, которые представляют HTTP-заголовок, а затем я мог бы позвонить createImage()
без исключения Исключения ...
Вы должны проверить, является ли это с вами. Просто проверьте это верно (temp[0] == 0xFF && temp[1] == 0xD8)
, и если это не так, обрезайте начало temp
, чтобы удалить HTTP-заголовок или какой-либо другой мусор ...
P.S. Я предполагаю, что вы читаете изображение в формате JPEG, если нет, найдите соответствующий заголовок в массиве temp
.
Также, если это не помогает, и вы читаете изображение в формате JPEG, убедитесь, что массив начинается с FFD8
и заканчивается FFD9
(который является маркером EOI). И если она не заканчивается с ВЗ просто обрезать конец, как я объяснил для СОИ ...
PPS И если вы обнаружили, что данные в temp
действителен, то ваша платформа не может декодировать изображения JPEG или изображение в temp
является большим для JPEG-декодера.
Если вы включаете более конкретную информацию, например. трассировки стека или сообщения об исключении, возможно, будет предоставлен ответ. – Ruben 2008-11-07 10:16:06