2012-03-28 11 views
8

मैं फोन गैप संस्करण 0.9.3 का उपयोग करके ऐप्लिकेशन का विकास किया है ...फोन गैप कैमरा उन्मुखीकरण

जब मैं अपने अनुप्रयोग में कैमरा खोलते हैं, तो यह हमेशा लैंडस्केप मोड में खोलता है और कब्जा पर, छवि है, परिदृश्य प्रारूप में लौट आए ...

मैं कैसे चित्र

navigator.camera.getPicture(onsuccess, fail, {quality: 45,destinationType : Camera.DestinationType.DATA_URL, sourceType: src},img_id); 

function onsuccess(imageData) { 
    localStorage.setItem("image_captured","Yes"); 
    $('#'+imgID).attr('src', 'data:image/jpeg;base64,' + imageData); 
    $("#"+imgID+"_IMG").attr('src', 'data:image/jpeg;base64,' + imageData); 
} 

करने के लिए कैमरे के मोड को बदल सकते हैं प्रकट मैं उल्लेख किया था में:

<activity android:name="com.android.camera.Camera" 
    android:screenOrientation="portrait"> 
</activity> 

कृपया मुझे इस में मदद ...

+0

क्यों न यू यह कम से कम 1.0 के लिए अद्यतन ... – ghostCoder

+0

मैं एक कस्टम प्लगइन बनाया था स्पिनर के लिए .. यह प्लगइन 1.0 या उससे ऊपर में काम नहीं कर रहा है .. इसलिए 0.9.3 पर तय किया गया था जहां मेरी प्लगइन ठीक काम कर रही है .. – Sandy09

+0

http://stackoverflow.com/questions/9841742/selection-option-in- फोनगैप-काम नहीं कर रहा है - उचित .. यह मेरे ऐप में एक और मुद्दा है .. – Sandy09

उत्तर

7

तस्वीर उन्मुखीकरण संग्रहीत नहीं है जब बेस 64 प्रारूप में एक छवि लौटने (सभी EXIF ​​डेटा छीन जाता है)।

छवि को चित्र या परिदृश्य में लिया गया था और फिर तदनुसार इसे प्रदर्शित करने के लिए आपको "पता" करने के लिए एक्सेलेरोमीटर या स्क्रीन अभिविन्यास का उपयोग करना चाहिए और फिर इसे प्रदर्शित करना चाहिए। correctOrientation:

18

इस प्रयास करें सच

function getPhoto(source) { 

    navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 30, 
    destinationType: destinationType.FILE_URI, 
    sourceType: source, 
    correctOrientation: true }); 

} 
+2

सही ऑरिएन्टेशन वर्तमान में अधिकांश उपकरणों (एंड्रॉइड शामिल) पर अनदेखा किया जाता है –

+0

@ PerHornshøj- शियरबेक मुझे इस मुद्दे का भी सामना करना पड़ रहा है कि तस्वीर लेने के बाद एचटीएमएल में इसे प्रदर्शित करने की कोशिश करते समय पोर्ट्रेट मोड में ली गई तस्वीर लैंडस्केप मोड में वापस आती है। आप इसे कैसे ठीक करते हैं? "correctOrientation" मदद नहीं करता है और अनदेखा प्रतीत होता है (एमुलेटर/नेक्सस और गैलेक्सी एस 3), यह सच है ... –

+0

@ फिलिप्रिबर मैंने अपना समाधान अपनी पोस्ट में डाल दिया ... –

0

मैं मेरी समस्या फ़ाइल यूआरएल के रूप में मेरे बचत समाधान कर लिया है बजाय। फाइल को अस्थायी रूप से फ़ोल्डर में सही EXIF ​​डेटा के साथ रखा जाएगा। कुछ डिवाइस हो सकते हैं जहां एप्लिकेशन को बंद करते समय आपको फ़ाइलों को मैन्युअल रूप से हटाना होगा।

डेटा के बजाय फ़ाइल यूआरएल का संदर्भ देते समय, आईएमजी सही ढंग से प्रदर्शित होने लगते हैं।

6

"correctOrientation" पैरामीटर मेरे लिए ठीक काम करता है - लेकिन केवल अगर आप "targetWidth" और "targetHeight" पैरामीटर का उपयोग कर रहे हैं (उदा। उन्हें "800" पर सेट करें)। ऐसा लगता है कि कुछ डिवाइसों में पूर्ण रिज़ॉल्यूशन चित्र घुमाने के लिए पर्याप्त स्मृति नहीं हो सकती है।

अद्यतन: यहाँ Phonegap कैमरा कोड के साथ EXIF ​​मुद्दों स्मृति बारे में उपयोगी जानकारी, स्केलिंग और के साथ एक अच्छा लेख है: http://simonmacdonald.blogspot.ca/2012/07/change-to-camera-code-in-phonegap-190.html

+0

अच्छा लगता है। यद्यपि यह अभी भी आकार निर्धारित करने के लिए हमेशा काम नहीं करता है। संस्करण से संबंधित हो सकता है? यहां 4.3 पर ... –

+0

धन्यवाद, मैं ऐपजीवर का उपयोग कर रहा हूं और एंड्रॉइड 4.4 पर एक ही समस्या थी, आपका समाधान काम करता है (मैं छवि को यूआरएल के रूप में लोड कर रहा हूं)। –

+0

सही।targetOidentation पैरामीटर लक्ष्यविड्थ और targetHeight के साथ मेरे लिए काम करता है। बहुत बहुत धन्यवाद – Sarah

संबंधित मुद्दे