WPF

2010-12-02 21 views
6

में टेक्स्ट पर बाहरी बेवल प्रभाव WPF में लेबल टेक्स्ट में बाहरी बेवल प्रभाव लागू करना संभव है? जहां तक ​​WPF

alt text

उत्तर

0

के रूप में मुझे पता है इस काम के किए जा सकेंगे::

alt text

मेरे लिए के रूप में

, ग्लो प्रभाव पर्याप्त होना चाहिए

<Label Content="Hi there!"> 
<Label.BitmapEffect> 
<OuterGlowBitmapEffect/> 
</Label.BitmapEffect> 
</Label> 

मैं परीक्षण नहीं किया यह एक लेबल में है, लेकिन मैंने अन्य नियंत्रणों और आकारों में मेरे लिए काम किया है, साथ ही, सभी प्रभाव सूची देखें IntelliSense दें आप :)

+0

मैंने कोशिश की द्वारा '' काम नहीं किया .. ( – serhio

+0

वैसे, एक ** 'BevelBitmapEffect' ** भी है, लेकिन मुझे इसे लेबल टेक्स्ट पर लागू करने के लिए प्राप्त नहीं हुआ। – serhio

+0

इसके बजाय टेक्स्टब्लॉक पर आज़माएं .... इसे काम करना चाहिए, अब मैंने इसे पहले किया है याद रखें ...: पी – Machinarius

0

आह, ठीक है, मैं आपकी समस्या को बेहतर समझता हूं। इस तरह

कोशिश कुछ:

<Grid> 
    <Grid.Resources> 
     <OuterGlowBitmapEffect GlowColor="Blue" GlowSize="5" x:key="Glow" /> 
    </Grid.Resources> 
    <Label Content="Blah!" BitmapEffect="{StaticResource Glow}" /> 
</Grid> 

मैं "ब्ला!" एक नीली चमक के साथ। लेबल की सामग्री को दो बार सेट नहीं किया जा सकता है क्योंकि चारों ओर एक सभ्य काम की तरह लगता है।

आशा है कि मदद करता है!

संपादित करें: यह तब तक काम नहीं करेगा जब तक आप फ्रेमवर्क 3.5 का उपयोग नहीं कर रहे हैं क्योंकि बिटमैपफेक्ट को बहिष्कृत कर दिया गया है। :(

+0

ध्यान दें, मैं चमक (बेवल) * टेक्स्ट * नहीं * सीमा * चाहता हूं। – serhio

+0

चमक लेबल की सीमा के आसपास दिखाई नहीं दे रही है। पाठ भी चमकदार है। –

3

मैं इस 'समाधान' के साथ विशेष रूप से खुश नहीं हूँ:

<TextBlock Text="Hello World!" Foreground="Red"> 
    <TextBlock.Effect> 
     <BlurEffect Radius="1" KernelType="Box" /> 
    </TextBlock.Effect> 
</TextBlock> 
<TextBlock Text="Hello World!" /> 

अन्य विकल्प मैं उस पर बहुत अच्छा तो मुझे डर लग रहा नहीं हूँ, अपने स्वयं के पिक्सेल शेडर बनाने के लिए है कि मैं नहीं कर सकते आप मदद:/

संपादित करें: बेहतर समाधान है, अभी भी उठाव नहीं

<TextBlock Text="Hello World!"> 
    <TextBlock.Effect> 
     <DropShadowEffect BlurRadius="2" Color="Red" Direction="0" ShadowDepth="0" /> 
    </TextBlock.Effect> 
</TextBlock> 
+0

आह, मैंने देखा कि टेक्स्टब्लॉक का प्रभाव पड़ा, लेकिन मैंने केवल ड्रॉपशैडो प्रभाव के साथ गड़बड़ की। तो, ब्लर एक चमक की तरह थोड़े है? मुझे इसके साथ खेलना होगा। –

+0

@townsean ye, शायद DropShadowEffect उपयोग करने के लिए बेहतर है, तो आप दोहरी टेक्स्टब्लॉक को छोड़ सकते हैं। – Oggy

0

Followintg Oggy के सुझाव:।

<Label.Effect> 
    <DropShadowEffect BlurRadius="5" 
         Color="Red" 
         Opacity="1" 
         ShadowDepth="0" /> 
</Label.Effect> 
5

टेक्स्ट पर ग्लो-प्रभाव प्राप्त करने का एक तरीका यहां दिया गया है। this link से आउटलाइन Text नियंत्रण का उपयोग करना जो स्ट्रोक प्रदान करता है।

alt text

<local:OutlinedText FontSize="100" 
        Fill="Black" 
        Bold="True" 
        Stroke="White" 
        StrokeThickness="3" 
        Text="Glow"> 
    <local:OutlinedText.Effect> 
     <DropShadowEffect ShadowDepth="0" 
          Color="White" 
          Opacity="1" 
          BlurRadius="12"/> 
    </local:OutlinedText.Effect> 
</local:OutlinedText> 

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

alt text

<Style x:Key="ContentControlStyle1" TargetType="{x:Type ContentControl}"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ContentControl}"> 
       <Grid> 
        <TextBlock Name="Highlight" Foreground="#66FFFFFF" Text="{TemplateBinding Content}" /> 
        <TextBlock Name="Shadow" Margin="0,4,0,0" Foreground="#CC000000" Text="{TemplateBinding Content}"/> 
        <ContentPresenter Margin="0,2,0,0"/> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

<ContentControl Style="{DynamicResource ContentControlStyle1}" FontSize="101" Foreground="DarkGray" Content="Bevel"/> 
संबंधित मुद्दे