मेरे आवेदन में, मैं कम रेज बिटमैप प्रदर्शित करने के लिए drawBitmap() का उपयोग करता हूं, जबकि मैं इसे ज़ूम कर रहा हूं। मैंने इसे कई उपकरणों (गैलेक्सी टैब, किंडल फायर, मोटो ज़ूम और नेक्सस 7) पर परीक्षण किया। उन सभी में मुझे नेक्सस 7 को छोड़कर, वही प्रतिपादन गुणवत्ता मिलती है। आप संलग्न स्क्रीन पर अंतर को देख सकते हैं। बाहरी क्षेत्र एक मैं drawBitmap उपयोग कर रहा हूँ, कुछ इस तरह है:विभिन्न प्रतिपादन आउटपुट के साथ drawBitmap (अन्य डिवाइस बनाम नेक्सस 7)
mSrcRectF.set(src_x1, src_y1, src_x2, src_y2);
mDesRectF.set(view_x1, view_y1, view_x2, view_y2);
mMatrix.setRectToRect(mSrcRectF, mDesRectF, Matrix.ScaleToFit.CENTER);
canvas.drawBitmap(bmp, mMatrix, mPagePaint);
अगर मैं मैट्रिक्स मैं बिना अन्य संस्करण drawBitmap (बिटमैप बिटमैप, रेक्ट src, RectF डीएसटी, पेंट रंग) का उपयोग करके देखें एक ही परिणाम।
मेरा मानना है कि यह समस्या/अंतर हार्डवेयर त्वरण से संबंधित हो सकता है। अगर मैं इसे बंद करता हूं (मैनिफेस्ट फ़ाइल में), तो मुझे सभी उपकरणों के लिए एक ही परिणाम मिलते हैं। अगर मैं इसे चालू करता हूं, तो नेक्सस को छोड़कर उन सभी के लिए प्रतिपादन में सुधार होता है, जो अभी भी एक और 'पिक्सेल वाले' बिटमैप दिखाता है। मैंने पढ़ा है कि एचए में कुछ दिनचर्या समर्थित नहीं हैं, लेकिन फिर भी, मैं समझ नहीं पा रहा हूं कि इस मामले में क्या हो रहा है। अपने ब्लॉग में रोमेन गाय के एक हालिया पोस्ट में उन्होंने टिप्पणी की:
ध्यान दें कि अल्फा बिटमैप्स केवल drawBitmap() के "सरल" संस्करण का आह्वान करते समय शेडर्स के साथ काम करते हैं। मैट्रिक्स या स्रोत और गंतव्य आयत लेने वाले वेरिएंट इस समय हार्डवेयर त्वरण के साथ समर्थित नहीं हैं।
क्या कोई इस पर कुछ प्रकाश डाल सकता है?
नेक्सस 7: Nexus 7 screen shot
Xoom (या गैलेक्सी टैब, Kindle Fire): Xoom screen shot
हाँ, मुझे लगता है कि जब तक वे इसके लिए समर्थन नहीं जोड़ते हैं तब तक मुझे इसके साथ रहना होगा। – Ander