[英]How do I use ScaleX and RenderTransform on a text block whilst keeping horizontal alignment?
[英]How to prevent text to pixelize when I use RenderTransform?
當我使用 RenderTransform 屬性並按比例放大 RichTextBox 時,我得到了像素化的放大文本(方形文本邊緣)。
我怎樣才能防止這種情況?
編輯:
我有 TextOptions.TextFormattingMode="Display" - 當我刪除此選項時,一切都很好!
不能聲稱我可以用我當前的設置重現這個:
那是 20 的規模。我認為這可能取決於 ClearType 系統設置,您可以嘗試在 RichTextbox 上設置RenderOptions.ClearTypeHint="Enabled"
,這可能會強制執行。
也嘗試設置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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.