在文本块中的文本上删除阴影

时间:2016-09-22 05:40:27

标签: c# canvas uwp

我开发了一个应用程序,其中我使用了文本块。现在我想在文本上删除阴影,如给定的图像

enter image description here

我使用了模糊效果,但却出错了。

private async void ok_Click(object sender, RoutedEventArgs e)
{
    br = new Border();
    Word_art obvwa = new Word_art();
    if (txtbox.Text == "")
    {
        var line = new MessageDialog("PLease enter the text");
        await line.ShowAsync();
    }
    else
    {
        TB1 = new TextBlock();
        TB1.FontSize = txtbox.FontSize;
        TB1.Foreground = txtbox.Foreground;

        SolidColorBrush sb = new SolidColorBrush();
        var color = sb.Color;

        TB1.Opacity = 60;                
        TB1.Text = txtbox.Text;
        var blur = new GaussianBlurEffect();
        blur.BlurAmount = 5.0f;
        blur.Source = TB1.Text; 
        var sitem = stylecombo.SelectedItem as ComboBoxItem;
        string sitemfm = Convert.ToString(sitem.Content);
        FontFamily fm = new FontFamily(""+ sitemfm);
        TB1.FontFamily = fm;

我尝试过Microsoft.graphics.effect程序集,但它没有包含在我的项目中。

1 个答案:

答案 0 :(得分:2)

要使用上面的阴影创建textblock,您可以使用包装阴影控件的WindowsUIDevLabs库。您可以为阴影配置OffsetXOffsetY属性,它将生效。代码如下:

<Page
...
xmlns:common="using:SamplesCommon" >

   <common:CompositionShadow
       x:Name="shadowcontrol"
       HorizontalAlignment="Center"
       VerticalAlignment="Center"
       BlurRadius="5"
       OffsetX="-1"
       OffsetY="-1"
       ShadowOpacity=".7"
       Color="Green">      
       <TextBlock
           Foreground="#6B0F02"
           FontSize="48"
           TextWrapping="Wrap">
           Lorem ipsum dolor sit amet.
       </TextBlock>         
   </common:CompositionShadow>

结果:

enter image description here

关于如何使用WindowsUIDevLabs,请下载该软件包并将SamplesCommon项目添加到您的解决方案中,添加对您项目的引用。您也可以直接在包内运行样本以进行进一步测试。