Frage

Ich versuche, eine Bildaufnahme auf einem High-End-Nokia-Handy (N95) zu tun. Die interne Kamera des Telefons ist sehr gut (4 Megapixel) aber in J2ME Ich scheine nur in der Lage sein, um eine maximal 1360x1020 Bild zu erhalten. Ich zog weitgehend aus diesem Beispiel http://developers.sun.com/mobility/midp / articles / Bild /

Was ich tat, war mit 640x480 beginnen und die Breite und Höhe erhöhen um 80 bzw. 60, bis er versagt. Die Codezeile lautet:

= jpg mVideoControl.getSnapshot ( "encoding = JPEG & quality = 100 & width =" + Breite + "& height =" + Höhe);

So sind die beiden Themen sind:  1. Das Telefon löst eine Ausnahme, wenn ein Bild größer als 1360x1020 bekommen.  2. Die Bilder mit höherer Auflösung zu sein scheinen nur geglätteten Versionen der kleineren. Z.B. Wenn ich ein 640x480 Bild nehmen und es in Photoshop erhöhen kann ich nicht den Unterschied zwischen diesen sagen, und eine, die angeblich 1360x1020 ist.

Ist dies eine Einschränkung von J2ME am Telefon? Wenn ja jemand eine Möglichkeit kennt eine höhere Auflösung zu bekommen innerhalb einer J2ME-Anwendung und / oder wie die native Kamera zuzugreifen aus einer anderen Anwendung?

War es hilfreich?

Lösung

Die Erklärung auf Nokia Forum kann Ihnen helfen.

Er sagt, dass „Die maximale Bildgröße, die auf ausgewähltes Bildformat erfaßt werden kann, Enkodieroptionen und freien Heap-Speicher verfügbar abhängt.“

und

"Es ist daher adviced stark, dass zumindest größere Bilder (größer als 1mpix) werden als JPEG-Bilder aufgenommen und in einer gemeinsamen Bildgröße (zB 1600x1200 für 2mpix usw. ein). Unterstützten gemeinsame Bildgrößen abhängig sind von Produkt und Plattform Version. "

Deshalb schlage ich Ihnen einige Versuche zu nehmen 1. mit 1600x1200, 1024x768 und was die Bildauflösung Ihres N95 Guide erwähnt 2. mit BMP und PNG als auch.

Wie auch immer, auf Grund meiner früheren Erfahrungen (das veraltet sein könnten), J2ME-Implementierungen sind voller Fehler, so kann es nicht eine funktionierende Lösung für Ihr Problem.

Andere Tipps

Ihre Kameras Auflösung nativ: 2582 x 1944. Versuchen Sie die Erfassung dort zu sehen, wie das geht.

Dieser Ort: http://developers.sun.com/mobility/midp/articles/ Bild / index.html

wird die Verwendung von:

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

Die Verwendung von rohen scheint interessant, die native Auflösung zu erhalten.

Die ‚Qualität‘ ein JPEG (Wie der Code interpretiert) nichts mit der Auflösung zu tun. Vielmehr ist es mit dem zu tun, wie komprimiert das Bild. Ein 640x480 Bild bei 100 Qualität spürbar besser aus als ein 640x480 Bild bei 50, wird aber mehr Speicherplatz verwenden.

Versuchen Sie stattdessen:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top