当我使用 RenderTransform 属性并按比例放大 RichTextBox 时,我得到了像素化的放大文本(方形文本边缘)。
我怎样才能防止这种情况?
编辑:
我有 TextOptions.TextFormattingMode="Display" - 当我删除此选项时,一切都很好!
当我使用 RenderTransform 属性并按比例放大 RichTextBox 时,我得到了像素化的放大文本(方形文本边缘)。
我怎样才能防止这种情况?
编辑:
我有 TextOptions.TextFormattingMode="Display" - 当我删除此选项时,一切都很好!
不能声称我可以用我当前的设置重现这个:
那是20的比例。我认为这可能取决于ClearType系统设置,您可以尝试RenderOptions.ClearTypeHint="Enabled"
在RichTextbox上进行设置,这可能会强制执行。
也尝试设置TextOptions.TextRenderingMode="ClearType"
。
编辑: 这个 SO question非常深入地处理文本渲染,可能会有所帮助。
编辑:看看这个怪异:
<TextBlock Text="Lorem ipsum dolor sit"
FontSize="20" TextOptions.TextFormattingMode="Display">
<TextBlock.RenderTransform>
<ScaleTransform x:Name="trans" ScaleY="10" ScaleX="10"/>
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="20" Duration="0:0:5"
Storyboard.TargetName="trans" Storyboard.TargetProperty="ScaleX"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
一旦达到一定的规模,文本对我来说就变得清晰了,真的很奇怪......
这对我有用:
TextOptions.TextFormattingMode="理想"
如建议: http: //www.newventuresoftware.com/blog/wpf-text-rendering-quirks-scaletransform