जोएल बिटमैपफेक्ट्स का उपयोग करने के बारे में एक महान सुझाव है।
हालांकि, यदि आप .NET 3.5 SP1 का उपयोग कर सकते हैं, तो मैं आपको GPU द्वारा प्रदत्त प्रभाव पर ले जाऊंगा। तो, UIElement.BitmapEffect का उपयोग करने के बजाय, आप UIElement.Effect का उपयोग करेंगे। .NET 3.5 SP1 में दो GPU प्रभाव हैं: BlurEffect और DropShadowEffect। आप अपने स्वयं के जीपीयू प्रभाव भी बना सकते हैं ... और यह वह जगह है जहां आप शेडरफेक्ट का उपयोग करेंगे।
अधिक जानकारी के लिए ग्रेग Schechter के ब्लॉग पोस्ट series देखें।
यहाँ प्रभाव है कि मैं सिर्फ कुछ दिन पहले लागू किया पर माउस के लिए कोड का एक टुकड़ा है (यह वास्तव में ऊपर एक तरह से किया जा रहा है ShadowDepth 0 की वजह से एक बाहरी चमक बिटमैप प्रभाव की तरह दिखाता है, लेकिन नहीं वास्तव में):
<Path
x:Name="mouseOverEffect"
Width="80"
Height="43.916"
Stretch="None"
Fill="#FFFFFFFF"
Opacity="0"
>
<Path.Data>
<PathGeometry FillRule="Nonzero">
<PathFigure IsClosed="True" StartPoint="39.9592899612151,25.9913931634531">
<LineSegment Point="80.0000001464848,43.9159987905149"/>
<LineSegment Point="39.9513899394755,4.97379893856246E-14"/>
<LineSegment Point="1.77635636294422E-15,43.9159987905149"/>
<LineSegment Point="39.9592899612151,25.9913931634531"/>
</PathFigure>
</PathGeometry>
</Path.Data>
<Path.Effect>
<DropShadowEffect
Color="#FFFFFFFF"
BlurRadius="10"
ShadowDepth="0"
/>
</Path.Effect>
</Path>
लॉल, मैंने बस यह पता लगाया और इसे पोस्ट करने वाला था। मुझे लगता है कि आप प्रतिनिधि मिलते हैं। – Dylan
व्ही। खुशी है कि आप सही जगहों पर देख रहे थे। :) –
अच्छा सुझाव, मुझे नहीं पता कि मैंने पहले इसके बारे में क्यों नहीं सोचा था ... विशेष रूप से दिया गया कि मैंने दूसरे दिन प्रभाव डाला है। बिटमैपफेक्ट्स के बारे में इंगित करने के लिए एक बात यह है कि वे एक ज्ञात प्रदर्शन समस्या हैं। तो, इसके लिए बाहर देखो। –
cplotts