मैं एक एंड्रॉइड ऐप बना रहा हूं और मुझे एक कैव में एक छवि (बिटमैप) लोड करने और "चुटकी ज़ूम" इशारा करते हुए इसका आकार बदलना होगा। जब छवि एक निश्चित आकार से अधिक हो, हालांकि, एप्लिकेशन क्रैश हो जाता है (OutOfMemory अपवाद)। मैं छवि के लोडिंग और हेरफेर को कैसे अनुकूलित करूं?बड़े बिटमैप्स की एंड्रॉइड लोडिंग
छवि का उपयोग मैं लोड करने के लिए:
BitmapFactory.decodeResource (ctx.getResources(), R.drawable.image)
आकर्षित करने के लिए:
imgCanvas.drawBitmap (image, posX, posY, null),
इसके आकार बदलने के लिए:
Bitmap.createScaledBitmap (originalBitmap, neww, NEWH, true);
मैं शुरू में छवि अपने मूल आकार में (inSampleSize = 1) के साथ लोड है। जब मैं "ज़ूम इन" करता हूं तो मुझे एक मान> 1 के साथ नमूना आकार में बदलना होगा और फिर छवि को क्रॉप करें? – Giammy
उपयोगकर्ता ज़ूम इन करने से पहले, आप अपनी संपूर्ण छवि को inSampleSize> 1. के साथ लोड करते हैं। फिर जब उपयोगकर्ता कुछ बिंदुओं पर ज़ूम करता है, तो आप छवि को फिर से लोड करेंगे, लेकिन इसका केवल एक हिस्सा और एक नमूना आकार के साथ जिसमें कम मान है (लेकिन अभी भी 1 से अधिक)। जब उपयोगकर्ता बार-बार ज़ूम करता है, तो किसी बिंदु पर, आपके inSampleSize = 1 (और आप केवल वह भाग लोड करेंगे जो दृश्यमान है)। –