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"/> TextOptions.TextFormattingMode="Display"
- TextOptions.TextHintingMode="Fixed"
- TextOptions.TextRenderingMode="ClearType"/>
- <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式: Display, Animated, ClearType"
- TextOptions.TextFormattingMode="Display"
- extOptions.TextHintingMode="Animated"
- TextOptions.TextRenderingMode="ClearType"/> TextOptions.TextFormattingMode="Display"
- TextOptions.TextHintingMode="Animated"
- TextOptions.TextRenderingMode="ClearType"/>
- <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式,采用的三種模式: Display, Fixed, Aliased"
- TextOptions.TextFormattingMode="Display"
- TextOptions.TextHintingMode="Fixed"
- TextOptions.TextRenderingMode="Aliased"/> TextOptions.TextFormattingMode="Display"
- TextOptions.TextHintingMode="Fixed"
- TextOptions.TextRenderingMode="Aliased"/>
- <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三種模式: Display, Fixed, Grayscale"
- TextOptions.TextFormattingMode="Display"
- TextOptions.TextHintingMode="Fixed"
- TextOptions.TextRenderingMode="Grayscale"/> TextOptions.TextFormattingMode="Display"
- 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"/> 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代碼如下,通過后臺代碼設置文字顯示效果。
- publicMainPage()
- {
- InitializeComponent();
- //后臺設置tbText控件的文字顯示效果
- TextOptions.SetTextFormattingMode(tbText, TextFormattingMode.Ideal);
- TextOptions.SetTextHintingMode(tbText, TextHintingMode.Fixed );
- TextOptions.SetTextRenderingMode(tbText, TextRenderingMode.Aliased );
- }
***我們來看看運行效果如下,如需源碼請點擊 SL5Text.zip 下載。
原文:http://www.cnblogs.com/chengxingliang/archive/2011/11/09/2236992.html
【編輯推薦】