在Flow文档中模糊文本

时间:2014-07-16 14:56:43

标签: c# wpf

我有一个FlowDocument我在后面的代码中构建。我需要能够模糊和取消特定的RunParagraph s。

BlurEffect,但您只能将其应用于Controls。运行和块具有TextEffect属性,但据我所知,它与运动有关。

1 个答案:

答案 0 :(得分:1)

WPF具有 BitmapEffects ,只能将其设置为Visual对象。段落和运行是从System.Windows.ContentElement派生的,因此我们不能为它们指定BitmapEffects。

你可以像这样实现模糊效果

<FlowDocument>
    <Paragraph>
        <InlineUIContainer>
            <TextBlock>
                <TextBlock.BitmapEffect>
                    <BlurBitmapEffect Radius="5"/>
                </TextBlock.BitmapEffect>
                <TextBlock.Inlines>
                    <Run Text="hello world" FontFamily="Calibri" FontSize="72" Foreground="Red" />
                </TextBlock.Inlines>
            </TextBlock>
        </InlineUIContainer>
    </Paragraph>
</FlowDocument>

结果

enter image description here


更新:使用效果

 <FlowDocument>
    <Paragraph>
        <InlineUIContainer>
            <TextBlock>
                <TextBlock.Effect>
                    <BlurEffect Radius="30"/>
                </TextBlock.Effect>
                <TextBlock.Inlines>
                    <Run Text="hello world"  FontFamily="Calibri" FontSize="72" Foreground="Red"/>
                </TextBlock.Inlines>
            </TextBlock>
        </InlineUIContainer>
    </Paragraph>
</FlowDocument>