我在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>
正如您所看到的,即使是Viewbox也无法解决问题。那么请帮我做什么?