Вопрос

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

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

jpg = mVideoControl.getSnapshot (" кодировка = jpeg & качество = 100 & ширина = " + ширина + & amp; высота = " + высота);

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

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

Это было полезно?

Решение

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

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

и

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

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

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

Другие советы

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

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

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

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

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

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

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

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top