2010-03-19 10 views
9

मैं दो छवियों से बना एक छवि प्रदर्शित करना चाहता हूं।मैं एक छवि को दूसरे पर कैसे ओवरले कर सकता हूं?

मैं छवि पिक्सेल 10 में अपनी बाएं हाथ कोने के साथ इसके बारे में शीर्ष पर sticker.png साथ प्रदर्शित होने वाले छवि rectangle.png चाहते हैं, 10

यहाँ जहाँ तक है मुझे मिला, लेकिन मैं छवियों को कैसे जोड़ूं?

Image image = new Image(); 
image.Source = new BitmapImage(new Uri(@"c:\test\rectangle.png")); 
image.Stretch = Stretch.None; 
image.HorizontalAlignment = HorizontalAlignment.Left; 

Image imageSticker = new Image(); 
imageSticker.Source = new BitmapImage(new Uri(@"c:\test\sticker.png")); 

image.OverlayImage(imageSticker, 10, 10); //how to do this? 

TheContent.Content = image; 

उत्तर

12

आपको छवि नियंत्रण दोनों को जोड़ने के लिए एक पैनल की आवश्यकता है। एक ग्रिड या कैनवास इसे अनुमति देगा, लेकिन मैं ग्रिड के साथ जाऊंगा क्योंकि यह छवि नियंत्रण को बाधित करेगा (जिससे उन्हें उचित रूप से खींच या घटाना होगा)।

Image image = new Image(); 
image.Source = new BitmapImage(new Uri(@"c:\test\rectangle.png")); 
image.Stretch = Stretch.None; 
image.HorizontalAlignment = HorizontalAlignment.Left; 

Image imageSticker = new Image(); 
imageSticker.Source = new BitmapImage(new Uri(@"c:\test\sticker.png")); 
imageStiker.Margin = new Thickness(10, 10, 0, 0); 

Grid grid = new Grid(); 
grid.Children.Add(image); 
grid.Children.Add(imageSticker); 

TheContent.Content = grid; 
+0

उत्कृष्ट, यह वह दृष्टिकोण है जिसका उपयोग मैंने किया था, केवल एक छवि स्टिकर जोड़ने के लिए जरूरी है। वर्टिकल एलाइनमेंट = वर्टिकल एलाइनमेंट.ओपी; –

+0

यह वास्तविक ओवरले नहीं है। अगर मैं एक बटन पर संयुक्त छवि का उपयोग करना चाहता था तो क्या होगा? यह काम नहीं करेगा। – bobbyalex

+0

क्यों नहीं? बटन निश्चित रूप से उस ग्रिड को अपनी सामग्री के रूप में रख सकता है। –

2

तुम सिर्फ अपने दृश्य में अन्य छवि नियंत्रण के शीर्ष पर एक छवि नियंत्रण रख सकते हैं। दोनों को ग्रिड या कैनवास में रखें, और दूसरे के शीर्ष पर छवियों में से एक को ओवरले करें। यह आपको मिश्रण करने के लिए अस्पष्टता का उपयोग करने देता है, और बहुत अच्छी तरह से काम करता है।

आप उन्हें एक ही छवि में प्राप्त करने की आवश्यकता है, वहाँ .... पास कुछ विकल्प होते हैं

आप एक WritableBitmap पहली छवि से बाहर तो मैन्युअल रूप से "पेंट" पर अन्य छवि पिक्सल बना सकता है, पहले के शीर्ष पर। यह तब प्रदर्शन में आपकी छवि के लिए एक छवि स्रोत के रूप में कार्य कर सकता है।

वैकल्पिक रूप से, आप उपरोक्त वर्णित ओवरले कर सकते हैं, और इसे RenderTargetBitmap में प्रस्तुत कर सकते हैं। इसका उपयोग तब आपके छवि स्रोत के रूप में किया जा सकता है।

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

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