मैं कैमरे से एक निश्चित (मेमोरी फ्रेंडली) आकार के साथ बिटमैप कैसे प्राप्त करूं?बिटमैप का आकार कैमरे द्वारा इरादे के माध्यम से लौटाया गया?
मैं के साथ एक कैमरा के इरादे शुरू कर:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra("return-data", true);
photoUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "mytmpimg.jpg"));
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(cameraIntent, REQUEST_CODE_CAMERA);
मैं यहाँ परिणाम संभाल:
// Bitmap photo = (Bitmap) intent.getExtras().get("data");
Bitmap photo = getBitmap(photoUri);
अब अगर मैं टिप्पणी की लाइन का उपयोग करें - बिटमैप सीधे मिलता है, मैं हमेशा एक मिल 160 x 120 बिटमैप, और यह बहुत छोटा है। अगर मैं इसे कुछ मानक सामान (विधि getBitmap) का उपयोग करके यूआरआई से लोड करता हूं, तो यह 2560 x 1920 बिटमैप (!) लोड करता है और यह लगभग 20 एमबी मेमोरी का उपभोग करता है।
मैं मान लीजिए कि 480 x 800 (एक ही आकार कैमरा पूर्वावलोकन मुझे पता चलता) जाने कैसे लोड करूं?
स्मृति में 2560 x 1920 लोड करने के लिए हो रही है और उसके आकार को बिना।
क्या इससे मदद मिलती है? http://stackoverflow.com/questions/3331527/android-resize-a-large-bitmap-file-to-scaled-output-file –
शायद, लेकिन वहाँ एक रास्ता सिर्फ पाने के लिए मैं क्या स्क्रीन पर दिखाई नहीं दे रहा है तस्वीर लेते समय ...? मुझे और कुछ चाहिए नहीं। – Ixx
बेन रूजिल का लिंक मुझे पता है कि सबसे अच्छे जवाब के लिए इंगित करता है। आपकी पसंद मूल रूप से या तो इरादे में थंबनेल या फ़ाइल में मूल-रिज़ॉल्यूशन फोटो है। तस्वीर को कम रिज़ॉल्यूशन पर सहेजने के लिए कैमरा ऐप प्राप्त करना अनुपस्थित है, यह आपकी पसंद है। – Sparky