Pregunta

Estoy intentando hacer una captura de imagen en un teléfono Nokia de gama alta (N95). La cámara interna del teléfono es muy buena (4 megapíxeles) pero en j2me parece que solo puedo obtener un máximo de 1360x1020 de imagen. Tomé mucho de este ejemplo http://developers.sun.com/mobility/midp / articles / picture /

Lo que hice fue comenzar con 640x480 y aumentar el ancho y la altura en 80 y 60, respectivamente, hasta que falló. La línea de código es:

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

Entonces los dos problemas son:  1. El teléfono lanza una excepción cuando se obtiene una imagen de más de 1360x1020.  2. Las imágenes de mayor resolución parecen ser versiones suavizadas de las más pequeñas. P.ej. Cuando tomo una imagen de 640x480 y la aumento en photoshop, no puedo distinguir la diferencia entre esta y una que supuestamente es 1360x1020.

¿Es esta una limitación de j2me en el teléfono? Si es así, ¿alguien sabe una forma de obtener una resolución más alta desde una aplicación j2me y / o cómo acceder a la cámara nativa desde otra aplicación?

Otros consejos

La resolución de su cámara es nativa: 2582 x 1944. Intenta capturar allí para ver cómo va.

Este lugar: http://developers.sun.com/mobility/midp/articles/ picture / index.html

Menciona el uso de:

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

El uso de raw parece interesante, para obtener la resolución nativa.

La 'calidad' de un JPEG (según la interpretación del código) no tiene nada que ver con la resolución. Más bien, tiene que ver con la compresión de la imagen. Una imagen de 640x480 con calidad 100 se verá notablemente mejor que una imagen de 640x480 con 50, pero utilizará más espacio de almacenamiento.

Prueba esto en su lugar:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top