Полный доступ к камере в j2me - PullRequest
       48

Полный доступ к камере в j2me

5 голосов
/ 28 октября 2008

Я пытаюсь сделать снимок на высоком телефоне Nokia (N95). Внутренняя камера телефона очень хорошая (4 мегапикселя), но в j2me мне кажется, что я могу вывести максимум 1360x1020 изображений. Я в основном опирался на этот пример http://developers.sun.com/mobility/midp/articles/picture/

Я начал с 640x480 и увеличил ширину и высоту на 80 и 60, соответственно, до тех пор, пока это не сработало. Строка кода:

jpg = mVideoControl.getSnapshot ("encoding = jpeg & quality = 100 & width =" + width + "& height =" + height);

Итак, две проблемы: 1. Телефон выдает исключение при получении изображения размером более 1360х1020. 2. Изображения с более высоким разрешением кажутся просто сглаженными версиями меньших. Например. Когда я беру изображение 640x480 и увеличиваю его в фотошопе, я не могу отличить его от того, которое предположительно составляет 1360x1020.

Это ограничение j2me на телефоне? Если так, то кто-нибудь знает, как получить более высокое разрешение из приложения j2me и / или как получить доступ к собственной камере из другого приложения?

Ответы [ 3 ]

6 голосов
/ 02 декабря 2008

Это объяснение на форуме Nokia может вам помочь.

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

и

"Поэтому настоятельно рекомендуется, чтобы как минимум изображения большего размера (более 1-мегапикселя) были записаны как изображения JPEG и с общим размером изображения (например, 1600x1200 для 2-мегапикселей и т. Д.). Поддерживаемые общие размеры изображения зависят от продукта и платформы версия. "

Так что я предлагаю вам попробовать 1. с разрешением 1600x1200, 1024x768 и любым разрешением изображения, упомянутым в руководстве N95 2. с BMP и PNG.

В любом случае, исходя из моего более раннего опыта (который может быть устаревшим), реализации j2me полны ошибок, поэтому может не быть работающего решения вашей проблемы.

3 голосов
/ 07 декабря 2008

Ваше разрешение камер изначально: 2582 x 1944 Попробуйте захватить там, чтобы увидеть, как это происходит.

Это место: http://developers.sun.com/mobility/midp/articles/picture/index.html

Упоминает использование:

byte[] raw = mVideoControl.getSnapshot(null);
Image image = Image.createImage(raw, 0, raw.length);

Использование raw кажется интересным, чтобы получить собственное разрешение.

1 голос
/ 28 октября 2008

«Качество» JPEG (как интерпретируется кодом) не имеет ничего общего с разрешением. Скорее это связано с тем, насколько сжато изображение. Изображение 640x480 при 100 качестве будет заметно лучше, чем изображение 640x480 при 50, но будет занимать больше места для хранения.

Попробуйте вместо этого:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
...