2008-10-28 12 views
5

में पूर्ण संकल्प कैमरा एक्सेस मैं उच्च अंत नोकिया फोन (एन 5 9) पर एक छवि कैप्चर करने की कोशिश कर रहा हूं। फोन का आंतरिक कैमरा बहुत अच्छा है (4 मेगापिक्सल) लेकिन जे 2 एम में मैं केवल अधिकतम 1360x1020 छवि प्राप्त करने में सक्षम हूं। मैंने इस उदाहरण से काफी हद तक आकर्षित किया http://developers.sun.com/mobility/midp/articles/picture/जे 2 एम

मैंने जो किया वह 640x480 के साथ शुरू हुआ और चौड़ाई और ऊंचाई क्रमशः 80 और 60 तक बढ़ गया, जब तक यह विफल नहीं हुआ। कोड की पंक्ति है:

जेपीजी = mVideoControl.getSnapshot ("एन्कोडिंग = jpeg & गुणवत्ता = 100 & चौड़ाई =" + चौड़ाई + "& ऊंचाई =" + ऊंचाई);

तो दो मुद्दे हैं: 1. 1360x1020 से अधिक छवि प्राप्त करते समय फ़ोन अपवाद फेंकता है। 2. उच्च रिज़ॉल्यूशन छवियां छोटे बच्चों के केवल चिकनी संस्करण दिखाई देती हैं। जैसे जब मैं 640x480 छवि लेता हूं और फ़ोटोशॉप में इसे बढ़ाता हूं तो मैं इस और एक के बीच अंतर नहीं बता सकता जो कि 1360x1020 है।

क्या यह फोन पर j2me की एक सीमा है? यदि ऐसा है तो किसी को किसी j2me एप्लिकेशन के भीतर से उच्च रिज़ॉल्यूशन प्राप्त करने और/या किसी अन्य एप्लिकेशन के भीतर से मूल कैमरे तक पहुंचने का तरीका पता है?

उत्तर

6

नोकिया मंच पर इस explanation आपकी मदद कर सकता है।

यह कहता है कि "अधिकतम छवि आकार जिसे कैप्चर किया जा सकता है चयनित छवि प्रारूप, एन्कोडिंग विकल्प और मुफ्त ढेर मेमोरी पर निर्भर करता है।"

और

"यह इस प्रकार दृढ़ता से सलाह दी जाती है कि कम से कम बड़े चित्र (1mpix से बड़ा) जेपीईजी छवियों के रूप में और एक आम छवि का आकार में कब्जा कर रहे हैं (उदाहरण के लिए 1600x1200 2mpix एक इतने पर के लिए)। आम छवि आकार समर्थित उत्पाद और मंच संस्करण पर निर्भर हैं। "

तो मेरा सुझाव है कि आप कुछ प्रयास करने के लिए 1. 1600x1200, 1024x768 के साथ और जो भी छवि संकल्प आपके एन 5 9 गाइड का उल्लेख करता है 2. बीएमपी और पीएनजी के साथ भी।

वैसे भी, मेरे पिछले अनुभवों (जो पुराना हो सकता है) के आधार पर, जे 2 एम कार्यान्वयन बग से भरे हुए हैं, इसलिए आपकी समस्या का कोई समाधान समाधान नहीं हो सकता है।

1

एक जेपीईजी (कोड द्वारा व्याख्या के रूप में) की 'गुणवत्ता' संकल्प के साथ कुछ भी नहीं है। इसके बजाय यह छवि को संपीड़ित करने के साथ करना है। 100 गुणवत्ता पर 640x480 छवि 5040 पर 640x480 छवि की तुलना में बेहतर रूप से बेहतर दिखाई देगी, लेकिन अधिक संग्रहण स्थान का उपयोग करेगी।

ऐसा करें:

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

सहायता के लिए धन्यवाद, लेकिन यह एक और मुद्दा बनाता है (संपादन देखें)। – Cory

3

आपके कैमरे का संकल्प मूल रूप से है: 2582 x 1 9 44। यह देखने के लिए वहां कैप्चर करने का प्रयास करें कि यह कैसे जाता है।

यह जगह:,

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

कच्चे के उपयोग दिलचस्प लगता है देशी संकल्प पाने के लिए: http://developers.sun.com/mobility/midp/articles/picture/index.html

के उपयोग उल्लेख किए जाने पर।