天天看點

Silverlight 5 RC新特性探索系列:14.Silverlight 5 RC 對字型呈現的改進

   在Silverlight 5 RC版本中對字型呈現做出了比較大的優化,它現在新增了一個類TextOptions,其内部有三個依賴屬性TextFormattingMode、 TextHintingMode、TextRenderingMode。對字型的呈現模式進行了定義。

   1.TextFormattingMode

        它有兩種格式化模式,是對字型的格式化進行設定

        1.1 Display:它使用度量來格式化字型和符号,會讓字型顯示得更加清晰,

        1.2 Ideal:它是老的模式,相對沒有那麼清晰

   2.TextHintingMode

        它有兩種微調模式,是對字型的渲染模式設定是否關閉

        2.1 Fixed:預設的模式,采用渲染模式

        2.2 Animated:新的模式,它會關閉渲染模式

   3.TextRenderingMode

        它有四種渲染模式,是對字型渲染類型進行設定

        3.1 Auto:自動模式,預設使用ClearType,除非本機器設定禁用ClearType

        3.2 Aliased:無抗鋸齒模式,無抗鋸齒的功能

        3.3 Grayscale:使用灰階抗鋸齒來繪制文本

        3.4 ClearType:平滑抗鋸齒繪制文本

        下面我們來通過一個執行個體來看看Silverlight 5 RC版本中對文字的處理,其Xaml代碼如下:

<Grid x:Name="LayoutRoot" Background="White"> 

    <StackPanel Orientation="Vertical"> 

        <StackPanel Margin="10"> 

            <StackPanel.Resources> 

                <Style TargetType="TextBlock"> 

                    <Setter Property="FontSize"                    Value="12" /> 

                </Style> 

            </StackPanel.Resources> 

            <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果: 預設效果 " /> 

            <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式: Display, Fixed, Cleartype" 

                       TextOptions.TextFormattingMode="Display" 

                       TextOptions.TextHintingMode="Fixed"      

                       TextOptions.TextRenderingMode="ClearType" /> 

            <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式: Display, Animated, ClearType"  

                       TextOptions.TextFormattingMode="Display"  

                       TextOptions.TextHintingMode="Animated"     

            <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式,采用的三種模式: Display, Fixed, Aliased" 

                       TextOptions.TextHintingMode="Fixed"     

                       TextOptions.TextRenderingMode="Aliased" /> 

            <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式: Display, Fixed, Grayscale" 

                       TextOptions.TextHintingMode="Fixed"   

                       TextOptions.TextRenderingMode="Grayscale" /> 

            <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式: Ideal, Fixed, Cleartype"  

                       TextOptions.TextFormattingMode="Ideal" 

                       TextOptions.TextHintingMode="Fixed"  

                       TextOptions.TextRenderingMode="Cleartype" /> 

            <TextBox Name="tbText" FontSize="12" Text="Wo shi di yi ge wenjian.看看我的效果,背景控制效果"></TextBox> 

        </StackPanel> 

    </StackPanel> 

</Grid> 

        其CS代碼如下,通過背景代碼設定文字顯示效果。

public MainPage() 

    InitializeComponent(); 

    //背景設定tbText控件的文字顯示效果 

    TextOptions.SetTextFormattingMode(tbText, TextFormattingMode.Ideal); 

    TextOptions.SetTextHintingMode(tbText, TextHintingMode.Fixed ); 

    TextOptions.SetTextRenderingMode(tbText, TextRenderingMode.Aliased ); 

<a target="_blank" href="http://blog.51cto.com/attachment/201204/171714159.png"></a>

本文轉自程興亮 51CTO部落格,原文連結:http://blog.51cto.com/chengxingliang/827060

繼續閱讀