当我使用RenderTransform属性并放大一个RichTextBox时,我得到了像素化的放大文本(正方形文本边缘)。如何在使用RenderTransform时防止文字像素化?
我该如何预防?
编辑:
我有TextOptions.TextFormattingMode = “显示” - 当我删除此选项,一切都很好!
当我使用RenderTransform属性并放大一个RichTextBox时,我得到了像素化的放大文本(正方形文本边缘)。如何在使用RenderTransform时防止文字像素化?
我该如何预防?
编辑:
我有TextOptions.TextFormattingMode = “显示” - 当我删除此选项,一切都很好!
不能说我可以用我的当前设置复制此:
那是一个20的比例,我认为这可能是依赖于ClearType的系统设置,你可以尝试设置RenderOptions.ClearTypeHint="Enabled"
在RichTextbox上,这可能会强制执行它。
也尝试设置TextOptions.TextRenderingMode="ClearType"
。
编辑:This 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 =“Display”并添加RenderOptions,像素化将保留:( – Alfa07 2011-05-03 06:59:32
'TextOptions.TextFormattingMode =“Display”'似乎有效地杀死所有努力使它看起来不错... – 2011-05-03 08:03:12
您使用的字体是什么?只要确保你没有使用位图字体 – 2011-05-03 08:10:11
这为我工作:
TextOptions.TextFormattingMode = “理想” 作为建议
: http://www.newventuresoftware.com/blog/wpf-text-rendering-quirks-scaletransform
你需要什么'TextFormattingMode'? – 2011-05-03 07:49:45