पर एक रंग फ़िल्टर जोड़ना चाहता हूं, मैं ColorFilter
से ImageView
जोड़ना चाहता हूं।मैं imageview
वर्तमान में मैं उपयोग कर रहा हूँ:
ImageView iv = (ImageView)findViewById(resIdOfImageToFilter);
iv.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
मैं में कई मोड देख लिया है PotterDuff
ऐसे SRC_IN
, SRC
आदि, लेकिन मैं मोड में से किसी में कोई अंतर नहीं मिल रहा है ... सभी के रूप में मोड पूरे लाल रंग में पूरे ImageView
बदल जाता है।
मैं मौजूदा छवि में लाल रंग मिश्रण करने के लिए इतना है कि छवि एक लाल रंग के साथ दिखेगा की जरूरत है ....
ओह ... सही करने का सही तरीका है पोर्टरडफ.मोड.लाइटन ... –
ऐसा इसलिए है क्योंकि कोई अल्फा चैनल नहीं है (यानी। पारदर्शिता) आपकी छवि में।आम तौर पर 'setColorFilter() 'का उपयोग आइकन को टेंट करने के लिए किया जाता है, और वास्तव में डिफ़ॉल्ट व्यवहार केवल अल्फा चैनल को संरक्षित करने वाली सभी छवियों को रंगीन करना है। 'PorterDuff.Mode.LIGHTEN' इसके बजाय चमक को संरक्षित करता है, इसलिए आपकी छवि के रंगीन भाग लाल हो जाते हैं, और सफेद वाले होते हैं जैसे वे होते हैं। –