gpt4 book ai didi

wpf - 如何使Aero Glass背景上的WPF文本可读?

转载 作者:行者123 更新时间:2023-12-04 03:30:51 25 4
gpt4 key购买 nike

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

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



现在,Microsoft应用程序(例如Word)通过在文本后面添加一种模糊效果来解决此问题,如您在下一个屏幕截图中所看到的:

我听说可以进行某种Win32 API调用来使其正常工作。但是,这只是我现在的传闻,我没有事实支持。

我已经尝试了一些不同的WPF特定功能来近似Word的功能:

  • 在文本
  • 上添加阴影
  • (而不是TextBlock)烘焙带有模糊效果的透明文本文本

  • 这些都没有给我有用的结果,它们看上去都糟透了。有谁知道我可以像Microsoft在玻璃上那样使用任何方法(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,10,30,0" Text="Text that should be visible on Aero Glass">
    </TextBlock>
    </Grid>

    此代码的作用是使文本加倍,并模糊Z-index明智的文本版本。对我来说就像一个魅力。

    要注意的一件事:
    如果文本颜色为白色而模糊颜色为黑色,这似乎效果最好。相反,它看起来并不那么好。好消息是,无论您的Aero Glass窗子后面是什么,它的外观都很好。

    关于wpf - 如何使Aero Glass背景上的WPF文本可读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4114590/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com