WPF中的字体质量

时间:2016-07-19 09:55:39

标签: wpf user-interface fonts rendering interpolation

我在UI中使用字体而不是图标,假设我在字体创建器应用程序中设计了一个复选标记,导出ttf,将字体作为资源嵌入我的项目中,然后像这样使用它:

    <Button>
        <Button.Content>
            <WrapPanel>
                <TextBlock Text="C" Margin="0,0,10,0" FontFamily="./#MyFont"/>
                <TextBlock Text="OK" FontFamily="verdana"/>
            </WrapPanel>
        </Button.Content>
    </Button>

问题是当我使用各种尺寸的字体时,字符的质量非常差。

我尝试了UseLayoutRounding,RenderOptions,TextOptions,SnapsToDevicePixels,但效果并不理想。

为了向您展示质​​量差的原因,我使用了一种名为Famirids的LCD字体,并拍摄了各种尺寸的快照。看看代码和snappshots:

<DockPanel Margin="10">
    <Slider x:Name="slider1" Minimum="1" Maximum="50" Value="17" DockPanel.Dock="Top"/>
    <UniformGrid Columns="1">
        <Label Content="Why this is like this?" FontFamily="./#Famirids" FontSize="{Binding ElementName=slider1, Path=Value}" VerticalAlignment="Center"/>
        <Viewbox Height="{Binding ElementName=slider1, Path=Value}" HorizontalAlignment="Left">
            <Label Content="Why this is like this?" FontFamily="./#Famirids" FontSize="100" VerticalAlignment="Center"/>
        </Viewbox>
    </UniformGrid>
</DockPanel>

<<< This is the snapshots >>>

正如您所看到的,即使是Viewbox也无法解决问题。那么请帮我做什么?

0 个答案:

没有答案