我有一个
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指数明智.像我一样的魅力.
有一点要注意:如果文本颜色为白色,模糊颜色为黑色,则此效果似乎最好.其他方式看起来并不好看.好消息是,它看起来不错,无论您的航空玻璃窗口背后是什么.