पर फिट करने के लिए छवि को स्कूड किया गया है, मैंने पूर्ण स्क्रीन में कैमरा पूर्वावलोकन प्रदर्शित करने के लिए एक छोटा सा एप्लीकेशन विकसित किया है। मैं इसके लिए कैमरा एपीआई का उपयोग कर रहा हूँ।पूर्ण स्क्रीन में कैमरा डिस्प्ले/पूर्वावलोकन पहलू अनुपात को बनाए नहीं रखता है - स्क्रीन
इस गतिविधि लेआउट है:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- This is the container for the camera preview screen -->
<FrameLayout android:id="@+id/camera_preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
जब डिवाइस चित्र में है, प्रदर्शन खड़ी आदेश डिवाइस स्क्रीन की ऊंचाई मैच के लिए में माप लिया जाता है - तो पहलू अनुपात से एक के समान नहीं है मूल कैमरा
पहली छवि देशी कैमरा डिवाइस के साथ किया जाता है: इन 2 छवियों जो बेहतर बताते हैं कि मैं क्या कह रहा हूँ है। दूसरी छवि मेरे ऐप के साथ बनाई गई है, कैमरे के साथ पूर्ण स्क्रीन में - स्क्रीन को फिट करने के लिए छवि को खींचा गया है।
मुझे getSupportedPreviewSizes()
मेहोड और विरूपण के बिना दिए गए पूर्वावलोकन आकार के बावजूद कैमरा पूर्वावलोकन को पूर्ण स्क्रीन होने की आवश्यकता है। क्या इसे पूरा करने का कोई तरीका है? कैमरा पूर्वावलोकन पूर्ण स्क्रीन में होने पर उचित पहलू अनुपात को बनाए रखने का कोई तरीका है? मुझे उम्मीद है कि यह ओएस द्वारा स्वचालित रूप से किया जाएगा - पक्ष अनुपात को बनाए रखने के दौरान अनुरोधित संकल्प से मेल खाने के लिए छवि को क्रॉप करना, लेकिन ऐसा नहीं होता है।
मैंने प्रदर्शन से SurfaceView
बड़ा प्रदर्शन करने की कोशिश की है (इस प्रश्न के बाद: Fitting a camera preview to a SurfaceView larger than the display), लेकिन मेरे मामले में ठीक नहीं है क्योंकि मैं स्नैपशॉट्स (6 फ्रेम/सेकेंड) कैप्चर कर रहा हूं और वे उपयोगकर्ता नहीं देख रहे हैं स्क्रीन पर (फ्रेम में सभी कैमरा पूर्वावलोकन होते हैं, भले ही यह स्क्रीन पर दिखाई न दे)।
मैंने यहां पोस्ट किया: https://www.dropbox.com/s/3d52xt8kazynsae/CameraFullScreen.7z?v=0mcn मैंने जो पूरी परियोजना बनाई है।
कोई विचार/समाधान मेरे लिए महत्वपूर्ण से अधिक है। बहुत बहुत धन्यवाद।
============================================== ==========================
ss1271 जवाब के कारण अपडेट:
मैं एक छोटे से विश्लेषण करेंगे प्रस्तावों आपने ऊपर सैमसंग गैलेक्सी ऐस II के लिए लिखा है।
मैं स्क्रीन संकल्प: 480x800 - पहलू अनुपात 3: 5 = 0,6
द्वितीय। getSupportedPreviewSizes
- मुझे पूरा यकीन है कि ये मान पीछे कैमरे से हैं। इन स्क्रीन रिज़ॉल्यूशन रूप में एक ही पहलू अनुपात होने और इन मूल्यों का उपयोग कर नहीं -
2560x1920 - 0,75
2560x1536 - 0,60
2048x1536 - 0,75
2048x1232 - 0,60
960x720 - 0,75
640x480 - 0,75
तो, अपने विधि एक Size
2560x1536 या 2048x1232 करने के लिए इसी वापस आ जाएगी: नीचे इन प्रस्तावों के लिए पहलुओं अनुपात हैं तस्वीर विकृत करें। मेरे लिए समस्या यह है कि मैं 6 बड़े फ्रेम/सेकेंड पर कब्जा करने के बाद से बड़े संकल्पों का उपयोग नहीं कर सकता और इन्हें कम रिज़ॉल्यूशन पर सहेजने की आवश्यकता है।
मैं एक सैमसंग एस 2 डिवाइस से कुछ परिणाम नीचे पेश करेंगे:
मैं स्क्रीन संकल्प: 480 x 800 - पहलू अनुपात 3: 5 = 0,6
द्वितीय। बैक कैमरा
ए)। getSupportedPreviewSizes
:
800/480 - 480/800 = 0,60
800/450 - 450/800 = 0,56
720/480 - 0,66
640/480 - 0,75
352/288 - 0,81
320/240 - 0,75
176/144 - 0,81
ख)। मूल निवासी के कैमरा रिज़ॉल्यूशन:
3264/2448 - 0,75 - not full screen
3264/1968 - 0,60 - FULL SCREEN (since has the same aspect ratio as device screen)
2048/1536 - 0,75 - not full screen
2048/1232 - 0,60 - FULL SCREEN (same aspect ratio as device screen)
800/480 - 0,60 - FULL SCREEN (same aspect ratio as device screen)
640/480 - 0, 75 - not full screen
तृतीय। फ्रंट कैमरा
ए)। getSupportedPreviewSizes
:
640/480 - 0,75
352/288 - 0,81
320/240 - 0,75
176/144 - 0,81
बी)। मूल कैमरा पूर्ण स्क्रीन में नहीं है और मैं एक संकल्प का चयन नहीं कर सकता - विकल्प अक्षम है।
एस 2, बैक कैमरा के लिए, मुझे आश्चर्य है कि क्यों getSupportedPreviewSizes()
विधि मूल कैमरा के रूप में या मूल कैमरे द्वारा प्रदर्शित किए गए मूल संकल्प के समान संकल्प वापस नहीं करते हैं? मुझे आश्चर्य है कि मेरे पास getSupportedPreviewSizes()
विधि द्वारा 3264/1 9 68, 2048/1232 जैसे विकल्प क्यों नहीं हैं? :
जो मैं चाहता हूं वह वास्तव में कैमरा पहलू को उचित पहलू अनुपात – Paul
बनाए रखने के लिए फसल डाला जा सकता है, क्या मैं पूछ सकता हूं: क्या आपको एक अनुकूलित कैमरा की आवश्यकता है या आप कैमरा दृश्यदर्शी (पूर्वावलोकन) दिखाना चाहते हैं? – dumbfingers
मेरे पास ओवरले बटन के साथ एक अनुकूलित कैमरा है। – Paul