簡體   English   中英

使用 RenderTransform 時如何防止文本像素化?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM