微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使WPF文本在航空玻璃背景上可读?

我有一个 WPF应用程序,在Aero玻璃背景上绘制文本.问题是,根据我应用程序后面显示内容,在玻璃背景上绘制的文本可能难以阅读,无法阅读.

如下面的截图所示,如果我的应用程序后面的窗口较暗,则保存,撤消和重做文本块变得很难阅读.

现在,Microsoft应用程序,如Word,解决了这种模糊背后的文字,你可以看到在下一个屏幕截图:

我听说有一些Win32 API调用,我可以让这个工作.但是,这只是传闻给我,在这一点上,我没有事实可以回覆.

我已经尝试了几个不同的WPF特定的东西来近似Word的作用:

>文字上的阴影
>透明图像的文字模糊(而不是TextBlock)

没有一个给我可用的结果,他们都看起来很厉害.有没有人知道任何方法,WPF或Win32,我可以用来绘制文本的方式微软在玻璃上(即可读)?

解决方法

我没有Win32可以解决这个问题(需要.NET 3.5).
<Grid>
     <TextBlock Foreground="Black" HorizontalAlignment="Center" Margin="0,10,30,0" Text="Text that should be visible on Aero Glass">
         <TextBlock.Effect>
            <BlurEffect Radius="15" KernelType="Gaussian">                                                                    
            </BlurEffect>                                        
         </TextBlock.Effect>
      </TextBlock>
      <TextBlock HorizontalAlignment="Center" Foreground="White" Margin="0,0" Text="Text that should be visible on Aero Glass">
      </TextBlock>
 </Grid>

这个代码效果是使文本翻倍,并使文本的版本模糊得更远,Z指数明智.像我一样的魅力.

有一点要注意:如果文本颜色为白色,模糊颜色为黑色,则此效果似乎最好.其他方式看起来并不好看.好消息是,它看起来不错,无论您的航空玻璃窗口背后是什么.

原文地址:https://www.jb51.cc/html/224773.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐