j2me - Как создать изображение в формате jpg?

Мое приложение j2me должно сделать фотографию, немного ее отредактировать и сохранить где-нибудь (или отправить на сервер). Камера возвращает мне байты изображения в формате jpg, но после того, как я создаю из него объект Image (используя Image.createImage()), Я не смог упаковать его обратно в jpg.

Есть ли кодировщики jpeg для j2me?
Я нашел один, написанный на j2se, но он использует специфичные для j2se классы.

3 ответа

Решение

Кстати, поскольку JSR 234 не поддерживается на многих устройствах, я беру библиотеку изображений JIMI от Sun и переношу часть кодирования JPEG на j2me. Он отлично работает и не использует слишком много памяти.

Это можно сделать! Даже без каких-либо фирменных API или библиотек. Это может быть достигнуто, если ваш телефон поддерживает JSR 234 и имеет возможность обрабатывать файлы JPEG через него. Ты делаешь это:

//Create MediaProcessor for raw Image
MediaProcessor mediaProc = GlobalManager.createMediaProcessor("image/raw");
//Get control over the format
ImageFormatControl formatControl = (ImageFormatControl)
        mediaProc.getControl("javax.microedition.amms.control.ImageFormatControl");
//Set necessary format
formatControl.setFormat("image/jpeg");

Затем вы установите вход Image, выходной поток и запустить медиапроцессор. Вуаля! Вы сохранили свое изображение в формате JPEG.

Это зависит от реализации, некоторые устройства позволяют создавать объекты Image с использованием файла jpg, а другие - нет. Однако спецификация Sun гласит, что устройства должны поддерживать png, однако другие остаются на усмотрение производителей OEM.

Другие вопросы по тегам