2010-10-16 11 views
11

मेरे पास एक पीएनजी वाला टॉगल बटन है जिसमें एक पारदर्शी पृष्ठभूमि और एक काला अग्रभूमि है। यदि बटन चुना जाता है तो मैं चाहता हूं कि छवि का काला रंग उपयोगकर्ता द्वारा चुने गए रंग में बदल जाए। क्या Silverlight और/या wp7 में ऐसा करने का कोई तरीका है?मैं चांदी की रोशनी/WP7 (रंग मास्क) में किसी छवि का रंग कैसे बदल सकता हूं?

उदाहरण के लिए

तो:

<ToggleButton> 
    <Image Source="MyImage.png" /> 
</ToggleButton> 

MyImage.png एक पारदर्शी पृष्ठभूमि और एक काले रंग अग्रभूमि है। उपयोगकर्ता का पसंदीदा रंग लाल है। जब बटन पर टॉगल किया जाता है तो मैं चाहता हूं कि छवि का काला अग्रभूमि लाल हो जाए।

+0

कुछ कोड दिखाएं। –

उत्तर

22

मैं ओपेसिटीमास्क दृष्टिकोण का प्रयास करूंगा।

<Rectangle Fill="Red"> 
    <Rectangle.OpacityMask> 
    <ImageBrush ImageSource="MyImage.png"/> 
    </Rectangle.OpacityMask> 
</Rectangle> 

आयत का भरण संपत्ति को बदलने आप अलग अलग रंगों की छवि मिलेगा द्वारा: मूल रूप से यह कुछ इस तरह देखना चाहिए।

+1

बहुत बढ़िया !!! वह पूरी तरह से काम किया। मुझे यह पता लगाने की आवश्यकता होगी कि इसे मेरे समाधान में कैसे शामिल किया जाए, लेकिन बहुत धन्यवाद !! – Micah

+0

यह काम करता है! यह भी ध्यान देने योग्य है कि छवि को आपके आयत के आकार को लेने के लिए 'छविब्रश' में 'Stretch =" कोई नहीं "जोड़ सकता है, अन्यथा यह पूर्ण आकार में प्रदर्शित होता है। –

0

उपयोगकर्ता के रंग पर कितना नियंत्रण है?

यदि वे सीमित सेट (जैसे लाल, हरा, नीला, काला, भूरा) से चुन रहे हैं तो सबसे आसान काम छवि स्रोत को एक वेरिएबल से बांधना होगा जिसमें छवि का नाम होता है और फिर बदल जाता है उस चर में कौन सा नाम आयोजित किया जाता है।

यदि वे कोई रंग चुन सकते हैं तो आपको किसी संदर्भ छवि के काले पिक्सल को चयनित रंग में बदलने के लिए कुछ छवि प्रसंस्करण करने की आवश्यकता है, इसे अलग भंडारण में लिखें और फिर उस नई फ़ाइल में छवि स्रोत को बाध्य करें।

एक्सएएमएल में बटन खींचने का एक और विकल्प है और फिर आप अग्रभूमि रंग पर प्रत्यक्ष नियंत्रण प्राप्त कर सकते हैं। This MSDN page ड्राइंग की मूल बातें का वर्णन करता है। (इस ब्लॉग से कोड की छवि है)

image of code from blog

: आप स्कॉट गु के ब्लॉग से this page पर वर्णित है, एक बटन पर छवि को परिभाषित करने में एक ही आदेशों का उपयोग कर सकते हैं।

यदि आप रंग को एक चर से बांधते हैं तो उपयोगकर्ता छवि का रंग बदल सकता है। हालांकि आप XAML में छवि को आकर्षित करने में सक्षम होने पर भरोसा करते हैं।

+0

यही वह है जो मैं टालने की उम्मीद कर रहा था लेकिन मेरे पास कोई अन्य विकल्प नहीं हो सकता है। – Micah

+0

@ मिकाह - मैंने अभी कुछ और सोचा है - उत्तर अपडेट करना। – ChrisF

+0

कोई बुरा विचार नहीं है। मैं कोशिश कर सकता हूँ। मैं WP7 एसडीके में आइकन का उपयोग कर रहा हूँ। शायद मैं वेक्टर फ़ाइल को xaml में परिवर्तित कर सकता हूं। – Micah

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