如何在WPF中对TextBlock应用投影、内阴影和渐变叠加效果

4
我对我的PSD应用了以下效果:
==============投影阴影=============
-混合模式:叠加
-颜色:黑色
-不透明度:50%
-角度:90
=========内部阴影================
-混合模式:正常
-颜色:白色
-不透明度:62%
-角度:120
=======渐变叠加===============
-混合模式:正常
-不透明度:100%
-角度:90
-起始颜色:#8a8a8a
-结束颜色:#ffffff
以下是来自PSD的图像 enter image description here 如何应用到Textblack,我已经应用了以下代码:
<TextBlock x:Name="lblTitle" Margin="5" Foreground="#FFFFFFFF" FontWeight="Bold" FontSize="20" FontFamily="Arial Bold"
                            TextOptions.TextFormattingMode="Display"  TextAlignment="Left" TextWrapping="Wrap" Text="Tournament: $3 + $0.30 KO Sit and Go">
                                    <TextBlock.Effect>
                                        <DropShadowEffect Color="Black" Opacity="50" Direction="-90" RenderingBias="Quality" ShadowDepth="2" >

 </DropShadowEffect>
    </TextBlock.Effect>
     </TextBlock>
2个回答

3
Hi we can add the  Inner Shadow as follows

<Grid Height="100" Width="600" Margin="100,100,100,100">
        <Border Background="LightGray" BorderBrush="DarkGray" 
           BorderThickness="1" ClipToBounds="True">
            <Border Background="Transparent" BorderBrush="Black" 
              BorderThickness="1" Margin="-2">
                <Border.Effect>
                    <DropShadowEffect ShadowDepth="0" BlurRadius="10">
                    </DropShadowEffect>
                </Border.Effect>

            <TextBlock x:Name="lblTitle" Margin="5" Foreground="#FFFFFFFF" FontWeight="Bold" FontSize="20" FontFamily="Arial Bold"
        TextOptions.TextFormattingMode="Display"  TextAlignment="Left" TextWrapping="Wrap" Text="Tournament: $3 + $0.30 KO Sit and Go">
            <TextBlock.Effect>
                <DropShadowEffect Color="Black" Opacity="50" Direction="-90" RenderingBias="Quality" ShadowDepth="2" >

                </DropShadowEffect>

            </TextBlock.Effect>

        </TextBlock>
            </Border>
        </Border> 

    </Grid>

1
    Hi  this may help you in adding inner shadow and gradient overlay effect to TextBlock                                                                                          


  <Grid Height="100" Width="600" Margin="100,100,100,100">
        <Border Background="LightGray" BorderBrush="DarkGray" 
           BorderThickness="1" ClipToBounds="True">
            <Border Background="Transparent" BorderBrush="Black" 
              BorderThickness="1" Margin="-2">
                <Border.Effect>
                    <DropShadowEffect ShadowDepth="0" BlurRadius="10">
                    </DropShadowEffect>
                </Border.Effect>

            <TextBlock x:Name="lblTitle" Margin="5"  FontWeight="Bold" FontSize="20" FontFamily="Arial Bold"
        TextOptions.TextFormattingMode="Display"  TextAlignment="Left" TextWrapping="Wrap" Text="Tournament: $3 + $0.30 KO Sit and Go">
                    <TextBlock.Foreground>
                        <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                            <GradientStop Color="White" Offset="0"/>
                            <GradientStop x:Name="WhiteOffset" Color="White" Offset="1"/>
                            <GradientStop x:Name="GrayOffset" Color="Gray" Offset="1"/>
                        </LinearGradientBrush>
                    </TextBlock.Foreground>
                    <TextBlock.Triggers>
                        <EventTrigger RoutedEvent="Loaded">
                            <BeginStoryboard>
                                <Storyboard Storyboard.TargetProperty="Offset" Duration="0:0:1" RepeatBehavior="Forever">
                                    <DoubleAnimation Storyboard.TargetName="WhiteOffset" From="0" To="1" />
                                    <DoubleAnimation Storyboard.TargetName="GrayOffset" From="0" To="1" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                    </TextBlock.Triggers>
                    <TextBlock.Effect>
                <DropShadowEffect Color="Black" Opacity="50" Direction="-90" RenderingBias="Quality" ShadowDepth="2" >

                </DropShadowEffect>

            </TextBlock.Effect>

        </TextBlock>
            </Border>
        </Border> 

    </Grid>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接