2012-10-30 80 views
6

मैं एंड्रॉइड पर एक पीएनजी छवि प्रदर्शित करना चाहता हूं।एक पीएनजी फ़ाइल प्रदर्शित करते समय एंड्रॉइड छवि गुणवत्ता क्यों खो देता है?

enter image description here

सही अंत एक सा छोड़ दिया की तुलना में गहरे है: इस छवि फ़ाइल है।

लेकिन छवि की गुणवत्ता एंड्रॉयड आवेदन पर खो दिया (imageView उपयोग करते हुए):

enter image description here

लाल फ्रेम में हिस्सा कृपया ध्यान दें। रंग सुचारू रूप से बदल नहीं रहा है।

लेकिन अगर मैं अपने एंड्रॉयड फोन के ब्राउज़र का उपयोग, यह अच्छा खेलता है (इसलिए यह फोन स्क्रीन के कारण नहीं है):

enter image description here

यह मेरा android कोड है, जो बहुत सरल है:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 
    <ImageView android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/hhh"/> 
</LinearLayout> 

जहां hhh मेरी पहली छवि यहां पोस्ट की गई है, जो res/drawable के अंतर्गत है।

मैं इसे अपने एंड्रॉइड फोन (एंड्रॉइड 2.3.6) और एंड्रॉइड सिम्युलेटर (एंड्रॉइड 2.2/2.3/4.0 के साथ) पर परीक्षण करता हूं, सभी अच्छे प्रदर्शन नहीं करते हैं। लेकिन यह मेरे एंड्रॉइड पैड (एंड्रॉइड 4.0.3) पर अच्छा खेलता है।

समस्या क्या है, और इसे कैसे ठीक किया जाए?

+1

जैसे अल्फ़ा चैनल के साथ png सहेजने का प्रयास करें, (पिक्सेल पूरी तरह से अपारदर्शी नहीं) आपके छवि संपादक से। –

+0

क्या आपने ImageView सेट करने के लिए कोड का उपयोग करने का प्रयास किया है? कोड का उपयोग करके आप अधिक विकल्प सक्षम कर सकते हैं ऐसे ही प्रश्न हैं जिनका उत्तर आपकी मदद कर सकता है। http://stackoverflow.com/questions/7312996/how-to-improve-the-image-quality-when-images-are-in-drawable- फ़ोल्डर – dumbfingers

+1

http://www.curious-creature.org/ 2010/12/08/बिटमैप-गुणवत्ता-बैंडिंग-एंड-डाइटिंग/ – Selvin

उत्तर

7

res/drawable में छवियां संपीड़ित हैं। This is supposed to be lossless, लेकिन मैंने अतीत में इसी तरह के मुद्दों के बारे में सुना है।

इसे res/raw में ले जाएं, और इसे जाने दें।

+0

मैंने अभी 'res/raw' की कोशिश की, लेकिन कोई भाग्यशाली नहीं। मैंने छवि को 'res/raw' पर ले जाया, और कोड को < 'में बदल दिया, यह अच्छी तरह प्रदर्शित नहीं हुआ। – Freewind

+1

आपके पास जो समस्या है वह बैंडिंग है, क्या आपने कोशिश करने की कोशिश की है? इसमें कुछ विकल्प/वर्कअराउंड http://stackoverflow.com/questions/4769885/androiddither-true-does-not-dither-whats-wrong –

+0

उस प्रश्न का उत्तर काम करता है: Freewind

0

अपने Activity पर निम्नलिखित जोड़ने का प्रयास करें और देखें कि यह मदद करता है या नहीं।

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 
    Window window = getWindow(); 
    //eliminates color banding 
    window.setFormat(PixelFormat.RGBA_8888); 
} 
+0

धन्यवाद लेकिन अभी भी कोई भाग्यशाली नहीं – Freewind

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