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.